7.26.8. grn_ctx
#
7.26.8.1. Summary#
7.26.8.2. Example#
TODO…
7.26.8.3. Reference#
-
type grn_ctx#
TODO…
-
grn_obj *grn_ctx_get(grn_ctx *ctx, const char *name, int name_size)#
ctxが使用するdbからnameに対応するオブジェクトを検索して返す。nameに一致するオブジェクトが存在しなければNULLを返す。
- Parameters:
name – 検索しようとするオブジェクトの名前。
name_size – The number of bytes of name. If negative value is specified, name is assumed that NULL-terminated string.
-
grn_obj *grn_ctx_at(grn_ctx *ctx, grn_id id)#
ctx、またはctxが使用するdbからidに対応するオブジェクトを検索して返す。idに一致するオブジェクトが存在しなければNULLを返す。
- Parameters:
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
.Here is an example:
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);
- Parameters:
ctx – The context object.
table_buffer – The output buffer to store tables.
- Returns:
GRN_SUCCESS
on success, notGRN_SUCCESS
on error.