[Groonga-commit] groonga/groonga at 3d97574 [master] schema: add "id"

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Sep 23 18:51:42 JST 2016


Kouhei Sutou	2016-09-23 18:51:42 +0900 (Fri, 23 Sep 2016)

  New Revision: 3d97574734237cc4f81a03ef012dcb5422b29c5b
  https://github.com/groonga/groonga/commit/3d97574734237cc4f81a03ef012dcb5422b29c5b

  Message:
    schema: add "id"

  Modified files:
    lib/proc/proc_schema.c
    test/command/suite/schema/plugins.expected
    test/command/suite/schema/tables/columns/compress/lz4.expected
    test/command/suite/schema/tables/columns/compress/zlib.expected
    test/command/suite/schema/tables/columns/type/index_medium.expected
    test/command/suite/schema/tables/columns/type/index_small.expected
    test/command/suite/schema/tables/columns/type/scalar.expected
    test/command/suite/schema/tables/columns/type/vector.expected
    test/command/suite/schema/tables/normalizer.expected
    test/command/suite/schema/tables/token_filters.expected
    test/command/suite/schema/tables/tokenizer.expected
    test/command/suite/schema/tables/type/array.expected
    test/command/suite/schema/tables/type/hash_table.expected
    test/command/suite/schema/tables/value_type/reference.expected
    test/command/suite/schema/tables/value_type/type.expected

  Modified: lib/proc/proc_schema.c (+64 -12)
===================================================================
--- lib/proc/proc_schema.c    2016-09-23 18:38:23 +0900 (f13fe25)
+++ lib/proc/proc_schema.c    2016-09-23 18:51:42 +0900 (e577262)
@@ -27,6 +27,18 @@ typedef struct {
 } grn_schema_data;
 
 static void
+command_schema_output_id(grn_ctx *ctx, grn_obj *obj)
+{
+  if (obj) {
+    grn_id id;
+    id = grn_obj_id(ctx, obj);
+    grn_ctx_output_uint64(ctx, id);
+  } else {
+    grn_ctx_output_null(ctx);
+  }
+}
+
+static void
 command_schema_output_name(grn_ctx *ctx, grn_obj *obj)
 {
   if (obj) {
@@ -56,7 +68,10 @@ command_schema_output_type(grn_ctx *ctx, const char *type_label, grn_obj *type)
     return;
   }
 
-  grn_ctx_output_map_open(ctx, type_label, 2);
+  grn_ctx_output_map_open(ctx, type_label, 3);
+
+  grn_ctx_output_cstr(ctx, "id");
+  command_schema_output_id(ctx, type);
 
   grn_ctx_output_cstr(ctx, "name");
   command_schema_output_name(ctx, type);
@@ -203,7 +218,10 @@ command_schema_output_types(grn_ctx *ctx)
 
     command_schema_output_name(ctx, type);
 
-    grn_ctx_output_map_open(ctx, "type", 4);
+    grn_ctx_output_map_open(ctx, "type", 5);
+
+    grn_ctx_output_cstr(ctx, "id");
+    command_schema_output_id(ctx, type);
 
     grn_ctx_output_cstr(ctx, "name");
     command_schema_output_name(ctx, type);
@@ -274,7 +292,10 @@ command_schema_output_tokenizers(grn_ctx *ctx, grn_schema_data *data)
 
     command_schema_output_name(ctx, tokenizer);
 
-    grn_ctx_output_map_open(ctx, "tokenizer", 1);
+    grn_ctx_output_map_open(ctx, "tokenizer", 2);
+
+    grn_ctx_output_cstr(ctx, "id");
+    command_schema_output_id(ctx, tokenizer);
 
     grn_ctx_output_cstr(ctx, "name");
     command_schema_output_name(ctx, tokenizer);
@@ -338,7 +359,10 @@ command_schema_output_normalizers(grn_ctx *ctx, grn_schema_data *data)
 
     command_schema_output_name(ctx, normalizer);
 
-    grn_ctx_output_map_open(ctx, "normalizer", 1);
+    grn_ctx_output_map_open(ctx, "normalizer", 2);
+
+    grn_ctx_output_cstr(ctx, "id");
+    command_schema_output_id(ctx, normalizer);
 
     grn_ctx_output_cstr(ctx, "name");
     command_schema_output_name(ctx, normalizer);
@@ -402,7 +426,10 @@ command_schema_output_token_filters(grn_ctx *ctx, grn_schema_data *data)
 
     command_schema_output_name(ctx, token_filter);
 
-    grn_ctx_output_map_open(ctx, "token_filter", 1);
+    grn_ctx_output_map_open(ctx, "token_filter", 2);
+
+    grn_ctx_output_cstr(ctx, "id");
+    command_schema_output_id(ctx, token_filter);
 
     grn_ctx_output_cstr(ctx, "name");
     command_schema_output_name(ctx, token_filter);
@@ -479,7 +506,10 @@ command_schema_table_output_tokenizer(grn_ctx *ctx, grn_obj *table)
     return;
   }
 
-  grn_ctx_output_map_open(ctx, "tokenizer", 1);
+  grn_ctx_output_map_open(ctx, "tokenizer", 2);
+
+  grn_ctx_output_cstr(ctx, "id");
+  command_schema_output_id(ctx, tokenizer);
 
   grn_ctx_output_cstr(ctx, "name");
   command_schema_output_name(ctx, tokenizer);
@@ -498,7 +528,10 @@ command_schema_table_output_normalizer(grn_ctx *ctx, grn_obj *table)
     return;
   }
 
-  grn_ctx_output_map_open(ctx, "normalizer", 1);
+  grn_ctx_output_map_open(ctx, "normalizer", 2);
+
+  grn_ctx_output_cstr(ctx, "id");
+  command_schema_output_id(ctx, normalizer);
 
   grn_ctx_output_cstr(ctx, "name");
   command_schema_output_name(ctx, normalizer);
@@ -524,7 +557,10 @@ command_schema_table_output_token_filters(grn_ctx *ctx, grn_obj *table)
 
     token_filter = GRN_PTR_VALUE_AT(&token_filters, i);
 
-    grn_ctx_output_map_open(ctx, "token_filter", 1);
+    grn_ctx_output_map_open(ctx, "token_filter", 2);
+
+    grn_ctx_output_cstr(ctx, "id");
+    command_schema_output_id(ctx, token_filter);
 
     grn_ctx_output_cstr(ctx, "name");
     command_schema_output_name(ctx, token_filter);
@@ -743,7 +779,14 @@ command_schema_column_output_sources(grn_ctx *ctx, grn_obj *column)
     source_id = GRN_RECORD_VALUE_AT(&source_ids, i);
     source = grn_ctx_at(ctx, source_id);
 
-    grn_ctx_output_map_open(ctx, "source", 3);
+    grn_ctx_output_map_open(ctx, "source", 4);
+
+    grn_ctx_output_cstr(ctx, "id");
+    if (grn_obj_is_table(ctx, source)) {
+      command_schema_output_id(ctx, NULL);
+    } else {
+      command_schema_output_id(ctx, source);
+    }
 
     grn_ctx_output_cstr(ctx, "name");
     if (grn_obj_is_table(ctx, source)) {
@@ -797,7 +840,10 @@ command_schema_output_indexes(grn_ctx *ctx, grn_obj *object)
   for (i = 0; i < n_index_data; i++) {
     grn_obj *lexicon;
 
-    grn_ctx_output_map_open(ctx, "index", 4);
+    grn_ctx_output_map_open(ctx, "index", 5);
+
+    grn_ctx_output_cstr(ctx, "id");
+    command_schema_output_id(ctx, index_data[i].index);
 
     grn_ctx_output_cstr(ctx, "full_name");
     command_schema_output_name(ctx, index_data[i].index);
@@ -944,7 +990,10 @@ command_schema_column_output(grn_ctx *ctx, grn_obj *table, grn_obj *column)
 
   command_schema_output_column_name(ctx, column);
 
-  grn_ctx_output_map_open(ctx, "column", 12);
+  grn_ctx_output_map_open(ctx, "column", 13);
+
+  grn_ctx_output_cstr(ctx, "id");
+  command_schema_output_id(ctx, column);
 
   grn_ctx_output_cstr(ctx, "name");
   command_schema_output_column_name(ctx, column);
@@ -1030,7 +1079,10 @@ command_schema_output_table(grn_ctx *ctx,
 {
   command_schema_output_name(ctx, table);
 
-  grn_ctx_output_map_open(ctx, "table", 10);
+  grn_ctx_output_map_open(ctx, "table", 11);
+
+  grn_ctx_output_cstr(ctx, "id");
+  command_schema_output_id(ctx, table);
 
   grn_ctx_output_cstr(ctx, "name");
   command_schema_output_name(ctx, table);

  Modified: test/command/suite/schema/plugins.expected (+33 -0)
===================================================================
--- test/command/suite/schema/plugins.expected    2016-09-23 18:38:23 +0900 (9a425d6)
+++ test/command/suite/schema/plugins.expected    2016-09-23 18:51:42 +0900 (d2f84bb)
@@ -15,102 +15,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -119,53 +136,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },

  Modified: test/command/suite/schema/tables/columns/compress/lz4.expected (+36 -0)
===================================================================
--- test/command/suite/schema/tables/columns/compress/lz4.expected    2016-09-23 18:38:23 +0900 (85e951d)
+++ test/command/suite/schema/tables/columns/compress/lz4.expected    2016-09-23 18:51:42 +0900 (6283c63)
@@ -14,102 +14,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -118,53 +135,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -172,6 +205,7 @@ schema
     },
     "tables": {
       "Logs": {
+        "id": 256,
         "name": "Logs",
         "type": "array",
         "key_type": null,
@@ -194,11 +228,13 @@ schema
         },
         "columns": {
           "message": {
+            "id": 257,
             "name": "message",
             "table": "Logs",
             "full_name": "Logs.message",
             "type": "scalar",
             "value_type": {
+              "id": 15,
               "name": "Text",
               "type": "type"
             },

  Modified: test/command/suite/schema/tables/columns/compress/zlib.expected (+36 -0)
===================================================================
--- test/command/suite/schema/tables/columns/compress/zlib.expected    2016-09-23 18:38:23 +0900 (bf5b912)
+++ test/command/suite/schema/tables/columns/compress/zlib.expected    2016-09-23 18:51:42 +0900 (2216c69)
@@ -14,102 +14,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -118,53 +135,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -172,6 +205,7 @@ schema
     },
     "tables": {
       "Logs": {
+        "id": 256,
         "name": "Logs",
         "type": "array",
         "key_type": null,
@@ -194,11 +228,13 @@ schema
         },
         "columns": {
           "message": {
+            "id": 257,
             "name": "message",
             "table": "Logs",
             "full_name": "Logs.message",
             "type": "scalar",
             "value_type": {
+              "id": 15,
               "name": "Text",
               "type": "type"
             },

  Modified: test/command/suite/schema/tables/columns/type/index_medium.expected (+51 -0)
===================================================================
--- test/command/suite/schema/tables/columns/type/index_medium.expected    2016-09-23 18:38:23 +0900 (9f476f2)
+++ test/command/suite/schema/tables/columns/type/index_medium.expected    2016-09-23 18:51:42 +0900 (451adf4)
@@ -20,102 +20,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -124,53 +141,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -178,9 +211,11 @@ schema
     },
     "tables": {
       "Posts": {
+        "id": 256,
         "name": "Posts",
         "type": "hash table",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },
@@ -192,6 +227,7 @@ schema
         ],
         "indexes": [
           {
+            "id": 260,
             "full_name": "Terms.index",
             "table": "Terms",
             "name": "index",
@@ -209,11 +245,13 @@ schema
         },
         "columns": {
           "content": {
+            "id": 258,
             "name": "content",
             "table": "Posts",
             "full_name": "Posts.content",
             "type": "scalar",
             "value_type": {
+              "id": 15,
               "name": "Text",
               "type": "type"
             },
@@ -226,6 +264,7 @@ schema
             ],
             "indexes": [
               {
+                "id": 260,
                 "full_name": "Terms.index",
                 "table": "Terms",
                 "name": "index",
@@ -244,11 +283,13 @@ schema
             }
           },
           "title": {
+            "id": 257,
             "name": "title",
             "table": "Posts",
             "full_name": "Posts.title",
             "type": "scalar",
             "value_type": {
+              "id": 14,
               "name": "ShortText",
               "type": "type"
             },
@@ -261,6 +302,7 @@ schema
             ],
             "indexes": [
               {
+                "id": 260,
                 "full_name": "Terms.index",
                 "table": "Terms",
                 "name": "index",
@@ -281,17 +323,21 @@ schema
         }
       },
       "Terms": {
+        "id": 259,
         "name": "Terms",
         "type": "patricia trie",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },
         "value_type": null,
         "tokenizer": {
+          "id": 67,
           "name": "TokenBigram"
         },
         "normalizer": {
+          "id": 78,
           "name": "NormalizerAuto"
         },
         "token_filters": [
@@ -313,11 +359,13 @@ schema
         },
         "columns": {
           "index": {
+            "id": 260,
             "name": "index",
             "table": "Terms",
             "full_name": "Terms.index",
             "type": "index",
             "value_type": {
+              "id": 256,
               "name": "Posts",
               "type": "reference"
             },
@@ -327,16 +375,19 @@ schema
             "position": true,
             "sources": [
               {
+                "id": null,
                 "name": "_key",
                 "table": "Posts",
                 "full_name": "Posts._key"
               },
               {
+                "id": 257,
                 "name": "title",
                 "table": "Posts",
                 "full_name": "Posts.title"
               },
               {
+                "id": 258,
                 "name": "content",
                 "table": "Posts",
                 "full_name": "Posts.content"

  Modified: test/command/suite/schema/tables/columns/type/index_small.expected (+51 -0)
===================================================================
--- test/command/suite/schema/tables/columns/type/index_small.expected    2016-09-23 18:38:23 +0900 (58bbc8b)
+++ test/command/suite/schema/tables/columns/type/index_small.expected    2016-09-23 18:51:42 +0900 (28afe80)
@@ -20,102 +20,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -124,53 +141,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -178,9 +211,11 @@ schema
     },
     "tables": {
       "Posts": {
+        "id": 256,
         "name": "Posts",
         "type": "hash table",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },
@@ -192,6 +227,7 @@ schema
         ],
         "indexes": [
           {
+            "id": 260,
             "full_name": "Terms.index",
             "table": "Terms",
             "name": "index",
@@ -209,11 +245,13 @@ schema
         },
         "columns": {
           "content": {
+            "id": 258,
             "name": "content",
             "table": "Posts",
             "full_name": "Posts.content",
             "type": "scalar",
             "value_type": {
+              "id": 15,
               "name": "Text",
               "type": "type"
             },
@@ -226,6 +264,7 @@ schema
             ],
             "indexes": [
               {
+                "id": 260,
                 "full_name": "Terms.index",
                 "table": "Terms",
                 "name": "index",
@@ -244,11 +283,13 @@ schema
             }
           },
           "title": {
+            "id": 257,
             "name": "title",
             "table": "Posts",
             "full_name": "Posts.title",
             "type": "scalar",
             "value_type": {
+              "id": 14,
               "name": "ShortText",
               "type": "type"
             },
@@ -261,6 +302,7 @@ schema
             ],
             "indexes": [
               {
+                "id": 260,
                 "full_name": "Terms.index",
                 "table": "Terms",
                 "name": "index",
@@ -281,17 +323,21 @@ schema
         }
       },
       "Terms": {
+        "id": 259,
         "name": "Terms",
         "type": "patricia trie",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },
         "value_type": null,
         "tokenizer": {
+          "id": 67,
           "name": "TokenBigram"
         },
         "normalizer": {
+          "id": 78,
           "name": "NormalizerAuto"
         },
         "token_filters": [
@@ -313,11 +359,13 @@ schema
         },
         "columns": {
           "index": {
+            "id": 260,
             "name": "index",
             "table": "Terms",
             "full_name": "Terms.index",
             "type": "index",
             "value_type": {
+              "id": 256,
               "name": "Posts",
               "type": "reference"
             },
@@ -327,16 +375,19 @@ schema
             "position": true,
             "sources": [
               {
+                "id": null,
                 "name": "_key",
                 "table": "Posts",
                 "full_name": "Posts._key"
               },
               {
+                "id": 257,
                 "name": "title",
                 "table": "Posts",
                 "full_name": "Posts.title"
               },
               {
+                "id": 258,
                 "name": "content",
                 "table": "Posts",
                 "full_name": "Posts.content"

  Modified: test/command/suite/schema/tables/columns/type/scalar.expected (+36 -0)
===================================================================
--- test/command/suite/schema/tables/columns/type/scalar.expected    2016-09-23 18:38:23 +0900 (2274572)
+++ test/command/suite/schema/tables/columns/type/scalar.expected    2016-09-23 18:51:42 +0900 (b6de416)
@@ -14,102 +14,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -118,53 +135,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -172,6 +205,7 @@ schema
     },
     "tables": {
       "Logs": {
+        "id": 256,
         "name": "Logs",
         "type": "array",
         "key_type": null,
@@ -194,11 +228,13 @@ schema
         },
         "columns": {
           "message": {
+            "id": 257,
             "name": "message",
             "table": "Logs",
             "full_name": "Logs.message",
             "type": "scalar",
             "value_type": {
+              "id": 15,
               "name": "Text",
               "type": "type"
             },

  Modified: test/command/suite/schema/tables/columns/type/vector.expected (+40 -0)
===================================================================
--- test/command/suite/schema/tables/columns/type/vector.expected    2016-09-23 18:38:23 +0900 (cb4231e)
+++ test/command/suite/schema/tables/columns/type/vector.expected    2016-09-23 18:51:42 +0900 (27c475f)
@@ -16,102 +16,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -120,53 +137,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -174,9 +207,11 @@ schema
     },
     "tables": {
       "Posts": {
+        "id": 257,
         "name": "Posts",
         "type": "hash table",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },
@@ -200,11 +235,13 @@ schema
         },
         "columns": {
           "tags": {
+            "id": 258,
             "name": "tags",
             "table": "Posts",
             "full_name": "Posts.tags",
             "type": "vector",
             "value_type": {
+              "id": 256,
               "name": "Tags",
               "type": "reference"
             },
@@ -232,15 +269,18 @@ schema
         }
       },
       "Tags": {
+        "id": 256,
         "name": "Tags",
         "type": "double array trie",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },
         "value_type": null,
         "tokenizer": null,
         "normalizer": {
+          "id": 78,
           "name": "NormalizerAuto"
         },
         "token_filters": [

  Modified: test/command/suite/schema/tables/normalizer.expected (+36 -0)
===================================================================
--- test/command/suite/schema/tables/normalizer.expected    2016-09-23 18:38:23 +0900 (d5744e7)
+++ test/command/suite/schema/tables/normalizer.expected    2016-09-23 18:51:42 +0900 (3133e06)
@@ -12,102 +12,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -116,53 +133,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -170,15 +203,18 @@ schema
     },
     "tables": {
       "Tags": {
+        "id": 256,
         "name": "Tags",
         "type": "patricia trie",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },
         "value_type": null,
         "tokenizer": null,
         "normalizer": {
+          "id": 78,
           "name": "NormalizerAuto"
         },
         "token_filters": [

  Modified: test/command/suite/schema/tables/token_filters.expected (+38 -0)
===================================================================
--- test/command/suite/schema/tables/token_filters.expected    2016-09-23 18:38:23 +0900 (8563c86)
+++ test/command/suite/schema/tables/token_filters.expected    2016-09-23 18:51:42 +0900 (37f7c20)
@@ -17,102 +17,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -121,76 +138,97 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
     "token_filters": {
       "TokenFilterStopWord": {
+        "id": 256,
         "name": "TokenFilterStopWord"
       }
     },
     "tables": {
       "Terms": {
+        "id": 257,
         "name": "Terms",
         "type": "patricia trie",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },
         "value_type": null,
         "tokenizer": {
+          "id": 67,
           "name": "TokenBigram"
         },
         "normalizer": null,
         "token_filters": [
           {
+            "id": 256,
             "name": "TokenFilterStopWord"
           }
         ],

  Modified: test/command/suite/schema/tables/tokenizer.expected (+36 -0)
===================================================================
--- test/command/suite/schema/tables/tokenizer.expected    2016-09-23 18:38:23 +0900 (1318b12)
+++ test/command/suite/schema/tables/tokenizer.expected    2016-09-23 18:51:42 +0900 (14af417)
@@ -12,102 +12,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -116,53 +133,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -170,14 +203,17 @@ schema
     },
     "tables": {
       "Terms": {
+        "id": 256,
         "name": "Terms",
         "type": "patricia trie",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },
         "value_type": null,
         "tokenizer": {
+          "id": 67,
           "name": "TokenBigram"
         },
         "normalizer": null,

  Modified: test/command/suite/schema/tables/type/array.expected (+34 -0)
===================================================================
--- test/command/suite/schema/tables/type/array.expected    2016-09-23 18:38:23 +0900 (41060af)
+++ test/command/suite/schema/tables/type/array.expected    2016-09-23 18:51:42 +0900 (1dfccbc)
@@ -12,102 +12,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -116,53 +133,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -170,6 +203,7 @@ schema
     },
     "tables": {
       "Logs": {
+        "id": 256,
         "name": "Logs",
         "type": "array",
         "key_type": null,

  Modified: test/command/suite/schema/tables/type/hash_table.expected (+35 -0)
===================================================================
--- test/command/suite/schema/tables/type/hash_table.expected    2016-09-23 18:38:23 +0900 (db9c421)
+++ test/command/suite/schema/tables/type/hash_table.expected    2016-09-23 18:51:42 +0900 (1b1bef2)
@@ -12,102 +12,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -116,53 +133,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -170,9 +203,11 @@ schema
     },
     "tables": {
       "Users": {
+        "id": 256,
         "name": "Users",
         "type": "hash table",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },

  Modified: test/command/suite/schema/tables/value_type/reference.expected (+37 -0)
===================================================================
--- test/command/suite/schema/tables/value_type/reference.expected    2016-09-23 18:38:23 +0900 (18e86f9)
+++ test/command/suite/schema/tables/value_type/reference.expected    2016-09-23 18:51:42 +0900 (711c9b0)
@@ -14,102 +14,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -118,53 +135,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -172,10 +205,12 @@ schema
     },
     "tables": {
       "Logs": {
+        "id": 257,
         "name": "Logs",
         "type": "array",
         "key_type": null,
         "value_type": {
+          "id": 256,
           "name": "Users",
           "type": "reference"
         },
@@ -200,9 +235,11 @@ schema
         }
       },
       "Users": {
+        "id": 256,
         "name": "Users",
         "type": "hash table",
         "key_type": {
+          "id": 14,
           "name": "ShortText",
           "type": "type"
         },

  Modified: test/command/suite/schema/tables/value_type/type.expected (+35 -0)
===================================================================
--- test/command/suite/schema/tables/value_type/type.expected    2016-09-23 18:38:23 +0900 (8320320)
+++ test/command/suite/schema/tables/value_type/type.expected    2016-09-23 18:51:42 +0900 (09a58c1)
@@ -12,102 +12,119 @@ schema
     },
     "types": {
       "Bool": {
+        "id": 3,
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Float": {
+        "id": 12,
         "name": "Float",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int16": {
+        "id": 6,
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int32": {
+        "id": 8,
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int64": {
+        "id": 10,
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "Int8": {
+        "id": 4,
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "LongText": {
+        "id": 16,
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Object": {
+        "id": 2,
         "name": "Object",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "ShortText": {
+        "id": 14,
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true,
         "can_be_value_type": false
       },
       "Text": {
+        "id": 15,
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false,
         "can_be_value_type": false
       },
       "Time": {
+        "id": 13,
         "name": "Time",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "TokyoGeoPoint": {
+        "id": 17,
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt16": {
+        "id": 7,
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt32": {
+        "id": 9,
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt64": {
+        "id": 11,
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "UInt8": {
+        "id": 5,
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true,
         "can_be_value_type": true
       },
       "WGS84GeoPoint": {
+        "id": 18,
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true,
@@ -116,53 +133,69 @@ schema
     },
     "tokenizers": {
       "TokenBigram": {
+        "id": 67,
         "name": "TokenBigram"
       },
       "TokenBigramIgnoreBlank": {
+        "id": 72,
         "name": "TokenBigramIgnoreBlank"
       },
       "TokenBigramIgnoreBlankSplitSymbol": {
+        "id": 73,
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlpha": {
+        "id": 74,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
       "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
+        "id": 75,
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
       "TokenBigramSplitSymbol": {
+        "id": 69,
         "name": "TokenBigramSplitSymbol"
       },
       "TokenBigramSplitSymbolAlpha": {
+        "id": 70,
         "name": "TokenBigramSplitSymbolAlpha"
       },
       "TokenBigramSplitSymbolAlphaDigit": {
+        "id": 71,
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
       "TokenDelimit": {
+        "id": 65,
         "name": "TokenDelimit"
       },
       "TokenDelimitNull": {
+        "id": 76,
         "name": "TokenDelimitNull"
       },
       "TokenMecab": {
+        "id": 64,
         "name": "TokenMecab"
       },
       "TokenRegexp": {
+        "id": 77,
         "name": "TokenRegexp"
       },
       "TokenTrigram": {
+        "id": 68,
         "name": "TokenTrigram"
       },
       "TokenUnigram": {
+        "id": 66,
         "name": "TokenUnigram"
       }
     },
     "normalizers": {
       "NormalizerAuto": {
+        "id": 78,
         "name": "NormalizerAuto"
       },
       "NormalizerNFKC51": {
+        "id": 79,
         "name": "NormalizerNFKC51"
       }
     },
@@ -170,10 +203,12 @@ schema
     },
     "tables": {
       "Logs": {
+        "id": 256,
         "name": "Logs",
         "type": "array",
         "key_type": null,
         "value_type": {
+          "id": 8,
           "name": "Int32",
           "type": "type"
         },




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