7.26.17. grn_inspect
#
7.26.17.1. Summary#
There are two kind of functions to inspect grn_obj
. One is grn_inspect
function, The other is grn_p
function.
Here is the list of grn_inspect
function series. It sets inspected text into specified object.
grn_inspect()
grn_inspect_indented()
grn_inspect_limited()
Here is the list of grn_p
function series. It prints inspected text into console.
7.26.17.2. Example#
Here is an example which inspects specified target object.
grn_obj buffer;
GRN_TEXT_INIT(&buffer, 0);
grn_inspect(&context, &buffer, obj);
/* equivalent to grn_p(ctx, obj); */
printf("inspected: <%.*s>\n", (int)GRN_TEXT_LEN(&buffer), GRN_TEXT_VALUE(&buffer));
7.26.17.3. Reference#
-
grn_obj *grn_inspect_name(grn_ctx *ctx, grn_obj *buffer, grn_obj *obj)#
Added in version 4.0.8.
Inspect specified target
obj
object.- Parameters:
ctx – The context object
buffer – The buffer object which is object name will be stored.
obj – The inspect target object.
- Returns:
buffer
object which is name of object is set. If target object is nil,(nil)
is set to buffer, if target object is internally used object,(anonymous: ID)
is set to buffer.
grn_obj buffer; GRN_TEXT_INIT(&buffer, 0); grn_inspect_name(&context, &buffer, obj); printf("%.*s\n", (int)GRN_TEXT_LEN(&buffer), GRN_TEXT_VALUE(&buffer));
Specified object name is printed like this:
Users
-
grn_obj *grn_inspect_encoding(grn_ctx *ctx, grn_obj *buffer, grn_encoding encoding)#
Added in version 4.0.8.
Inspect specified target
obj
object.- Parameters:
ctx – The context object
buffer – The buffer object which is encoding name will be stored.
encoding – The inspect target encoding. encoding must be
GRN_ENC_DEFAULT
,GRN_ENC_NONE
,GRN_ENC_EUC_JP
,GRN_ENC_UTF8
,GRN_ENC_SJIS
,GRN_ENC_LATIN1
orGRN_ENC_KOI8R
- Returns:
buffer
object which is encoding name is set. If invalidencoding
is given,(unknown: ENCODING)
is set tobuffer
.
grn_obj buffer; GRN_TEXT_INIT(&buffer, 0); grn_inspect_encoding(&context, &buffer, GRN_ENC_UTF8); printf("%.*s\n", (int)GRN_TEXT_LEN(&buffer), GRN_TEXT_VALUE(&buffer));
Specified encoding name is printed like the following:
UTF-8
-
grn_obj *grn_inspect_type(grn_ctx *ctx, grn_obj *buffer, unsigned char type)#
Added in version 4.0.8.
Inspect specified target
obj
object.- Parameters:
ctx – The context object
buffer – The buffer object which is type name will be stored.
type – The inspect target type.
- Returns:
buffer
object which is type name is set. If invalidtype
is given,(unknown: TYPE_IN_HEX)
is set tobuffer
.
grn_obj buffer; GRN_TEXT_INIT(&buffer, 0); grn_inspect_type(&context, &buffer, obj->header.type); printf("#=> %.*s\n", (int)GRN_TEXT_LEN(&buffer), GRN_TEXT_VALUE(&buffer));
If obj is builtin type, type name is printed like the following:
GRN_TYPE
-
grn_obj *grn_inspect_query_log_flags(grn_ctx *ctx, grn_obj *buffer, unsigned int flags)#
Added in version 7.0.4.
Inspect specified target
flag
.- Parameters:
ctx – The context object
buffer – The buffer object which is flag name will be stored.
flags – The inspect target type.
- Returns:
buffer
object which is flag name is set. If invalidflags
is given, empty string is set tobuffer
.
grn_obj buffer; GRN_TEXT_INIT(&buffer, 0); int current_flags = grn_query_logger_get_flags(&context); grn_inspect_query_log_flags(&context, &buffer, current_flags); printf("%.*s\n", (int)GRN_TEXT_LEN(&buffer), GRN_TEXT_VALUE(&buffer));
The query logger flags are printed like the following:
COMMAND|RESULT_CODE|DESTINATION|CACHE|SIZE|SCORE
-
void grn_p(grn_ctx *ctx, grn_obj *obj)#
Added in version 4.0.8.
Inspect specified target
obj
object. It prints inspected text.- Parameters:
ctx – The context object
obj – The inspect target object.
grn_p(&context, &buffer, obj);
If obj is
ShortText
, it prints like the following:#<type ShortText size:4096 type:var_size>
-
void grn_p_geo_point(grn_ctx *ctx, grn_geo_point *point)#
Added in version 4.0.8.
Inspect specified target
obj
object. It prints inspected geo point text.- Parameters:
ctx – The context object
point – The inspect target object.
grn_obj point; int latitude = ((40 * 60 * 60) + (42 * 60) + 46) * 1000; int longitude = ((-74 * 60 * 60) + (0 * 60) + 22) * 1000; GRN_WGS84_GEO_POINT_INIT(&point, 0); GRN_GEO_POINT_SET(&context, &point, latitude, longitude); grn_p_geo_point(&context, (grn_geo_point*)&point);
If
point
indicates New York City, it prints like the following:[(524290,18) ((0, 8, 44, 290),(0, 0, 0, 18)) [00000000 00000000 00000000 10000000 00000000 00000000 00000001 00001100]]
-
void grn_p_ii_values(grn_ctx *ctx, grn_obj *obj)#
Added in version 4.0.8.
Inspect specified target
obj
object. It prints inspected index values.- Parameters:
ctx – The context object
obj – The inspect target object.
grn_p_ii_values(&context, obj);
If
obj
is an index column, it prints like the following:[ #<"!" elements:[ {status:available, rid:1, sid:1, pos:0, tf:1, weight:0, rest:1}, {status:available, rid:2, sid:1, pos:0, tf:1, weight:0, rest:1} ] >, ...