grn_ctx は最も重要なオブジェクトです。grn_ctx はその時点の情報を保持します:
最後に発生したエラー。
その時点のエンコーディング。
デフォルトの閾値。(例: match_escalation_threshold)
デフォルトのコマンドバージョン。( コマンドバージョン )を参照のこと。
grn_ctx は基盤となる機能を提供します:
メモリ管理機能
ロギング機能
ほとんどのAPIは grn_ctx を最初の引数にとります。
同じ grn_ctx を二つ以上のスレッドからは扱えません。grn_ctx はスレッドごとに作成する必要があります。一つのスレッドでは grn_ctx を二つ以上扱えますが、通常はその必要はありません。
TODO...
TODO...
ctxを初期化します。
パラメタ: |
|
---|---|
戻り値: | 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。 |
ctxの管理するメモリを解放し、使用を終了します。
grn_ctx_init() ではなく grn_ctx_open() で ctx を初期化した場合、 grn_ctx_fin() ではなく grn_ctx_close() を使わなければいけません。
パラメタ: |
|
---|---|
戻り値: | 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。 |
初期化された 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() によって解放しても問題ありません。
パラメタ: |
|
---|---|
戻り値: | 初期化された grn_ctx オブジェクトを返します。 |
grn_ctx_fin() を呼び出し、その後、 grn_ctx_open() によって割り当てた ctx のメモリを解放する。
パラメタ: |
|
---|---|
戻り値: | 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。 |
ctxを破棄するときに呼ばれる関数を設定します。
パラメタ: |
|
---|---|
戻り値: | 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。 |
command_versionを返します。
command_versionを変更します。
パラメタ: |
|
---|
ctxが操作対象とするdbを指定します。NULLを指定した場合は、dbを操作しない状態(init直後の状態)になります。
GRN_CTX_PER_DB フラグを指定した grn_ctx と一緒に使ってはいけません。
パラメタ: |
|
---|
ctxが使用するdbからnameに対応するオブジェクトを検索して返す。nameに一致するオブジェクトが存在しなければNULLを返す。
パラメタ: |
|
---|
ctx、またはctxが使用するdbからidに対応するオブジェクトを検索して返す。idに一致するオブジェクトが存在しなければNULLを返す。
パラメタ: |
|
---|
It pushes all tables in the database of ctx into tables_buffer. tables_buffer should be initialized as GRN_PVECTOR. You can use GRN_PTR_INIT() with GRN_OBJ_VECTOR flags to initialize tables_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);
パラメタ: |
|
---|---|
戻り値: | 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。 |
コンテキストの出力形式を取得します。
Normally, this function isn't needed.
パラメタ: |
|
---|---|
戻り値: | The output type of the context. |
Sets the new output type to the context. It is used by executing a command by grn_expr_exec(). If you use grn_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.
パラメタ: |
|
---|---|
戻り値: | 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。 |