groonga - オープンソースのカラムストア機能付き全文検索エンジン

8.15.4. grn_ctx

8.15.4.1. 概要

grn_ctx は最も重要なオブジェクトです。grn_ctx はその時点の情報を保持します:

  • 最後に発生したエラー。

  • その時点のエンコーディング。

  • デフォルトの閾値。(例: match_escalation_threshold

  • デフォルトのコマンドバージョン。( /reference/commands/command_version )を参照のこと。

grn_ctx は基盤となる機能を提供します:

  • メモリ管理機能

  • ロギング機能

ほとんどのAPIは grn_ctx を最初の引数にとります。

同じ grn_ctx を二つ以上のスレッドからは扱えません。grn_ctx はスレッドごとに作成する必要があります。一つのスレッドでは grn_ctx を二つ以上扱えますが、通常はその必要はありません。

8.15.4.2. 実行例:

TODO...

8.15.4.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_objgrn_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().

パラメタ:
戻り値:

成功時は 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を指定します。
grn_obj *grn_ctx_db(grn_ctx *ctx)

ctxが現在操作対象としているdbを返します。dbを使用していない場合はNULLを返します。

grn_obj *grn_ctx_get(grn_ctx *ctx, const char *name, int name_size)

ctxが使用するdbからnameに対応するオブジェクトを検索して返す。nameに一致するオブジェクトが存在しなければNULLを返す。

パラメタ:
  • 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を返す。

パラメタ:
  • id -- 検索しようとするオブジェクトのidを指定します。

目次

前のトピックへ

8.15.3. grn_command_version

次のトピックへ

8.15.5. grn_db

このページ