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

- English page

### ナビゲーション

- 索引
- 次へ |
- 前へ |
- Groonga v4.1.0ドキュメント »
- 7. リファレンスマニュアル »
- 7.18. API »

# 7.18.7. `grn_db`

## 7.18.7.1. 概要

TODO...

## 7.18.7.2. 実行例:

TODO...

## 7.18.7.3. リファレンス

TODO...

`grn_db`

  TODO...

`grn_db_create_optarg`

  :c:func:`grn_db_create`のオプションを指定するのに利用されます。

char **`grn_db_create_optarg.builtin_type_names`

  組み込み型の名前となるnul終端文字列の配列を指定する。

int `grn_db_create_optarg.n_builtin_type_names`

  n_builtin_type_namesには、optarg.builtin_type_namesで指定する文字列の数を 指定する。配列のoffsetはenum型grn_builtin_typeの値に対応する。

grn_obj *`grn_db_create`(grn_ctx *ctx, const char *path, grn_db_create_optarg *optarg)

  新たなdbを作成します。

  パラメタ: | ctx -- 初期化済みの `grn_ctx` を指定します。 path -- 作成するdbを格納するファイルパスを指定します。NULLならtemporary dbとなります。NULL以外のパスを指定した場合はpersistent dbとなります。 optarg -- Currently, it is not used. It is just ignored. 作成するdbの組み込み型の名前を変更する時に指定します。 optarg.builtin_type_namesには、組み込み型の名前となるnull終端文字列の配列を指定します。optarg.n_builtin_type_namesには、optarg.builtin_type_namesで指定する文字列の数を指定します。配列のoffsetはenum型grn_builtin_typeの値に対応します。

grn_obj *`grn_db_open`(grn_ctx *ctx, const char *path)

  既存のdbを開きます。

  パラメタ: | path -- 開こうとするdbを格納するファイルパスを指定します。

void `grn_db_touch`(grn_ctx *ctx, grn_obj *db)

  dbの内容の最終更新時刻を現在時刻にします。

  最終更新時刻はキャッシュが有効かどうかの判断などに利用されます。

  パラメタ: | db -- 内容が変更されたdbを指定します。

grn_obj *`grn_obj_db`(grn_ctx *ctx, grn_obj *obj)

  objの属するdbを返します。

  パラメタ: | obj -- 対象objectを指定します。

grn_rc `grn_db_recover`(grn_ctx *ctx, grn_obj *db)

  注釈

  This is an experimental API.

  注釈

  This is a dangerous API. You must not use this API when other thread or process opens the target database. If you use this API against shared database, the database may be broken.

  バージョン 4.0.9 で追加.

  Checks the passed database and recovers it if it is broken and it can be recovered.

  This API uses lock existence for checking whether the database is broken or not.

  Here are recoverable cases:

  > - Index column is broken. The index column must have source column.

  Here are unrecoverable cases:

  > - Object name management feature is broken.
  > - Table is broken.
  > - Data column is broken.

  Object name management feature is used for managing table name, column name and so on. If the feature is broken, the database can't be recovered. Please re-create the database from backup.

  Table and data column can be recovered by removing an existence lock and re-add data.

  パラメタ: | db -- The database to be recovered.
  戻り値: | 成功時は `GRN_SUCCESS` 、エラー時は `GRN_SUCCESS` 以外。

### ナビゲーション

- 索引
- 次へ |
- 前へ |
- Groonga v4.1.0ドキュメント »
- 7. リファレンスマニュアル »
- 7.18. API »