7.18.6. grn_ctx
¶
7.18.6.1. 概要¶
grn_ctx
は最も重要なオブジェクトです。grn_ctx
はその時点の情報を保持します:
最後に発生したエラー。
その時点のエンコーディング。
デフォルトの閾値。(例: match_escalation_threshold)
デフォルトのコマンドバージョン。( コマンドバージョン )を参照のこと。
grn_ctx
は基盤となる機能を提供します:
メモリ管理機能
ロギング機能
ほとんどのAPIは grn_ctx
を最初の引数にとります。
同じ grn_ctx
を二つ以上のスレッドからは扱えません。grn_ctx
はスレッドごとに作成する必要があります。一つのスレッドでは grn_ctx
を二つ以上扱えますが、通常はその必要はありません。
7.18.6.2. 実行例:¶
TODO...
7.18.6.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の管理するメモリを解放し、使用を終了します。
``ctx``を:c:func:`grn_ctx_init()`ではなく:c:func:`grn_ctx_open()`で初期化した場合、:c:func:`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
オブジェクトを返します。- flags -- 初期化する
-
grn_rc
grn_ctx_close
(grn_ctx *ctx)¶ :c:func:`grn_ctx_fin()`を呼び出し、:c:func:`grn_ctx_open()`によって割り当てられた``ctx``へのメモリを開放する。
パラメタ: - ctx -- :c:type:`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直後の状態)になります。
``GRN_CTX_PER_DB``フラグと同時に:c:type:`grn_ctx`を使ってはならない。
パラメタ: - db -- ctxが使用するdbを指定します。
-
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_content_type
grn_ctx_get_output_type
(grn_ctx *ctx)¶ コンテキストの出力形式を取得します。
Normally, this function isn't needed.
パラメタ: - ctx -- その時点のコンテキスト。
戻り値: The output type of the context.
-
grn_rc
grn_ctx_set_output_type
(grn_ctx *ctx, grn_content_type type)¶ Sets the new output type to the context. It is used by executing a command by
grn_expr_exec()
. If you usegrn_ctx_send()
, the new output type isn't used.grn_ctx_send()
sets output type from command line internally.Normally, this function isn't needed.
パラメタ: - ctx -- その時点のコンテキスト。
- type -- 新しい出力形式。
戻り値: 成功時は
GRN_SUCCESS
、エラー時はGRN_SUCCESS
以外。