8.15.5. grn_ctx¶
8.15.5.1. 概要¶
grn_ctx は最も重要なオブジェクトです。grn_ctx はその時点の情報を保持します:
最後に発生したエラー。
その時点のエンコーディング。
デフォルトの閾値。(例: match_escalation_threshold)
デフォルトのコマンドバージョン。( コマンドバージョン )を参照のこと。
grn_ctx は基盤となる機能を提供します:
メモリ管理機能
ロギング機能
ほとんどのAPIは grn_ctx を最初の引数にとります。
同じ grn_ctx を二つ以上のスレッドからは扱えません。grn_ctx はスレッドごとに作成する必要があります。一つのスレッドでは grn_ctx を二つ以上扱えますが、通常はその必要はありません。
8.15.5.2. 実行例:¶
TODO...
8.15.5.3. リファレンス¶
- grn_ctx¶
TODO...
- grn_rc grn_ctx_init(grn_ctx *ctx, int flags)¶
ctxを初期化します。
パラメタ: - ctx -- 初期化するctx構造体へのポインタを指定します。
- flags -- 初期化する ctx のオプションを指定します。
戻り値: 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。
- grn_rc grn_ctx_fin(grn_ctx *ctx)¶
ctxの管理するメモリを解放し、使用を終了します。
If ctx is initialized by grn_ctx_open() not grn_ctx_init(). You need also to call grn_ctx_close().
パラメタ: - ctx -- 解放するctx構造体へのポインタを指定します。
戻り値: 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。
- grn_ctx *grn_ctx_open(int flags)¶
初期化された grn_ctx オブジェクトを返します。
grn_ctx_init() で初期化された grn_ctx オブジェクトは構造体の実体をAPIの呼び元で確保するのに対して、 grn_ctx_open() ではGroongaライブラリの内部で、実体を確保します。 どちらで初期化された grn_ctx も、 grn_ctx_fin() で解放できます。 grn_ctx_open() で確保した grn_ctx 構造体に関しては、grn_ctx_fin() で解放した後に、その grn_ctx で作成した grn_obj を grn_obj_close() によって解放しても問題ありません。
パラメタ: - flags -- 初期化する ctx のオプションを指定します。
戻り値: 初期化された grn_ctx オブジェクトを返します。
- grn_rc grn_ctx_close(grn_ctx *ctx)¶
It calls grn_ctx_fin() and frees allocated memory for ctx by grn_ctx_open().
パラメタ: - ctx -- no longer needed grn_ctx.
戻り値: 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。
- grn_rc grn_ctx_set_finalizer(grn_ctx *ctx, grn_proc_func *func)¶
ctxを破棄するときに呼ばれる関数を設定します。
パラメタ: - ctx -- 対象ctxを指定します。
- func -- ctx を破棄するときに呼ばれる関数を指定します。
戻り値: 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。
- grn_command_version grn_ctx_get_command_version(grn_ctx *ctx)¶
command_versionを返します。
- grn_rc grn_ctx_set_command_version(grn_ctx *ctx, grn_command_version version)¶
command_versionを変更します。
パラメタ: - version -- 変更後のcommand_versionを指定します。
- grn_rc grn_ctx_use(grn_ctx *ctx, grn_obj *db)¶
ctxが操作対象とするdbを指定します。NULLを指定した場合は、dbを操作しない状態(init直後の状態)になります。
Don't use it with grn_ctx that has GRN_CTX_PER_DB flag.
パラメタ: - db -- ctxが使用するdbを指定します。