7.26.8. grn_ctx
#
7.26.8.1. 概要#
7.26.8.2. 例#
TODO...
7.26.8.3. リファレンス#
-
type grn_ctx#
TODO...
-
grn_obj *grn_ctx_get(grn_ctx *ctx, const char *name, int name_size)#
ctxが使用するdbからnameに対応するオブジェクトを検索して返す。nameに一致するオブジェクトが存在しなければNULLを返す。
- パラメータ:
name -- 検索しようとするオブジェクトの名前。
name_size -- 名前のバイト数。負の値が指定された場合は、終端をNULL文字とした文字列として扱われる。
-
grn_obj *grn_ctx_at(grn_ctx *ctx, grn_id id)#
ctx、またはctxが使用するdbからidに対応するオブジェクトを検索して返す。idに一致するオブジェクトが存在しなければNULLを返す。
- パラメータ:
id -- 検索しようとするオブジェクトのidを指定します。
-
grn_rc grn_ctx_get_all_tables(grn_ctx *ctx, grn_obj *tables_buffer)#
It pushes all tables in the database of
ctx
intotables_buffer
.tables_buffer
should be initialized asGRN_PVECTOR
. You can useGRN_PTR_INIT()
withGRN_OBJ_VECTOR
flags to initializetables_buffer
.以下は例です。
grn_rc rc; grn_obj tables; int i; int n_tables; GRN_PTR_INIT(&tables, GRN_OBJ_VECTOR, GRN_ID_NIL); rc = grn_ctx_get_all_tables(ctx, &tables); if (rc != GRN_SUCCESS) { GRN_OBJ_FIN(ctx, &tables); /* Handle error. */ return; } n_tables = GRN_BULK_VSIZE(&tables) / sizeof(grn_obj *); for (i = 0; i < n_tables; i++) { grn_obj *table = GRN_PTR_VALUE_AT(&tables, i); /* Use table. */ } /* Free resources. */ for (i = 0; i < n_tables; i++) { grn_obj *table = GRN_PTR_VALUE_AT(&tables, i); grn_obj_unlink(ctx, table); } GRN_OBJ_FIN(ctx, &tables);
- パラメータ:
ctx -- その時点のコンテキスト。
table_buffer -- The output buffer to store tables.
- 戻り値:
成功時は
GRN_SUCCESS
、エラー時はGRN_SUCCESS
以外。