Navigation Menu

Skip to content

Commit

Permalink
schema: add value-able type information
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Oct 20, 2015
1 parent 741ff14 commit 21ec7e9
Show file tree
Hide file tree
Showing 6 changed files with 174 additions and 86 deletions.
5 changes: 4 additions & 1 deletion lib/proc.c
Expand Up @@ -7357,7 +7357,7 @@ proc_schema_types(grn_ctx *ctx)

proc_schema_output_name(ctx, type);

GRN_OUTPUT_MAP_OPEN("type", 3);
GRN_OUTPUT_MAP_OPEN("type", 4);

GRN_OUTPUT_CSTR("name");
proc_schema_output_name(ctx, type);
Expand All @@ -7368,6 +7368,9 @@ proc_schema_types(grn_ctx *ctx)
GRN_OUTPUT_CSTR("can_be_key_type");
GRN_OUTPUT_BOOL(GRN_TYPE_SIZE(DB_OBJ(type)) <= GRN_TABLE_MAX_KEY_SIZE);

GRN_OUTPUT_CSTR("can_be_value_type");
GRN_OUTPUT_BOOL(!(type->header.flags & GRN_OBJ_KEY_VAR_SIZE));

GRN_OUTPUT_MAP_CLOSE();
}
GRN_OUTPUT_MAP_CLOSE();
Expand Down
51 changes: 34 additions & 17 deletions test/command/suite/schema/plugins.expected
Expand Up @@ -17,87 +17,104 @@ schema
"Bool": {
"name": "Bool",
"size": 1,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Float": {
"name": "Float",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int16": {
"name": "Int16",
"size": 2,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int32": {
"name": "Int32",
"size": 4,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int64": {
"name": "Int64",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int8": {
"name": "Int8",
"size": 1,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"LongText": {
"name": "LongText",
"size": 2147483648,
"can_be_key_type": false
"can_be_key_type": false,
"can_be_value_type": false
},
"Object": {
"name": "Object",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"ShortText": {
"name": "ShortText",
"size": 4096,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": false
},
"Text": {
"name": "Text",
"size": 65536,
"can_be_key_type": false
"can_be_key_type": false,
"can_be_value_type": false
},
"Time": {
"name": "Time",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"TokyoGeoPoint": {
"name": "TokyoGeoPoint",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt16": {
"name": "UInt16",
"size": 2,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt32": {
"name": "UInt32",
"size": 4,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt64": {
"name": "UInt64",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt8": {
"name": "UInt8",
"size": 1,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"WGS84GeoPoint": {
"name": "WGS84GeoPoint",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
}
},
"tokenizers": {
Expand Down
51 changes: 34 additions & 17 deletions test/command/suite/schema/tables/array.expected
Expand Up @@ -14,87 +14,104 @@ schema
"Bool": {
"name": "Bool",
"size": 1,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Float": {
"name": "Float",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int16": {
"name": "Int16",
"size": 2,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int32": {
"name": "Int32",
"size": 4,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int64": {
"name": "Int64",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int8": {
"name": "Int8",
"size": 1,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"LongText": {
"name": "LongText",
"size": 2147483648,
"can_be_key_type": false
"can_be_key_type": false,
"can_be_value_type": false
},
"Object": {
"name": "Object",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"ShortText": {
"name": "ShortText",
"size": 4096,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": false
},
"Text": {
"name": "Text",
"size": 65536,
"can_be_key_type": false
"can_be_key_type": false,
"can_be_value_type": false
},
"Time": {
"name": "Time",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"TokyoGeoPoint": {
"name": "TokyoGeoPoint",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt16": {
"name": "UInt16",
"size": 2,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt32": {
"name": "UInt32",
"size": 4,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt64": {
"name": "UInt64",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt8": {
"name": "UInt8",
"size": 1,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"WGS84GeoPoint": {
"name": "WGS84GeoPoint",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
}
},
"tokenizers": {
Expand Down
51 changes: 34 additions & 17 deletions test/command/suite/schema/tables/hash_table.expected
Expand Up @@ -14,87 +14,104 @@ schema
"Bool": {
"name": "Bool",
"size": 1,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Float": {
"name": "Float",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int16": {
"name": "Int16",
"size": 2,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int32": {
"name": "Int32",
"size": 4,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int64": {
"name": "Int64",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"Int8": {
"name": "Int8",
"size": 1,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"LongText": {
"name": "LongText",
"size": 2147483648,
"can_be_key_type": false
"can_be_key_type": false,
"can_be_value_type": false
},
"Object": {
"name": "Object",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"ShortText": {
"name": "ShortText",
"size": 4096,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": false
},
"Text": {
"name": "Text",
"size": 65536,
"can_be_key_type": false
"can_be_key_type": false,
"can_be_value_type": false
},
"Time": {
"name": "Time",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"TokyoGeoPoint": {
"name": "TokyoGeoPoint",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt16": {
"name": "UInt16",
"size": 2,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt32": {
"name": "UInt32",
"size": 4,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt64": {
"name": "UInt64",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"UInt8": {
"name": "UInt8",
"size": 1,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
},
"WGS84GeoPoint": {
"name": "WGS84GeoPoint",
"size": 8,
"can_be_key_type": true
"can_be_key_type": true,
"can_be_value_type": true
}
},
"tokenizers": {
Expand Down

0 comments on commit 21ec7e9

Please sign in to comment.