7.25.19. grn_obj#

7.25.19.1. 概要#

TODO...

7.25.19.2. #

TODO...

7.25.19.3. リファレンス#

注釈

現在、Doxygenを使った自動生成に切り替え中です。

type grn_obj#

TODO...

objをメモリから解放します。objに属するobjectも再帰的にメモリから解放されます。

int grn_obj_name(grn_ctx *ctx, grn_obj *obj, char *namebuf, int buf_size)#

objの名前の長さを返します。無名objectなら0を返します。

名前付きのobjectであり、buf_sizeの長さが名前の長以上であった場合は、namebufに該当する名前をコピーします。

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

  • namebuf -- 名前を格納するバッファ(呼出側で準備する)を指定します。

  • buf_size -- namebufのサイズ(byte長)を指定します。

grn_id grn_obj_get_range(grn_ctx *ctx, grn_obj *obj)#

objパラメータのとる値の範囲を表わしているオブジェクトのIDを返します。例えば、grn_builtin_type にある GRN_DB_INT などを返します。

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

int grn_obj_expire(grn_ctx *ctx, grn_obj *obj, int threshold)#

objの占有するメモリのうち、可能な領域をthresholdを指標として解放します。

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

int grn_obj_check(grn_ctx *ctx, grn_obj *obj)#

objに対応するファイルの整合性を検査します。

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

grn_rc grn_obj_lock(grn_ctx *ctx, grn_obj *obj, grn_id id, int timeout)#

objをlockします。timeout(秒)経過してもlockを取得できない場合は GRN_RESOURCE_DEADLOCK_AVOIDED を返します。

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

grn_rc grn_obj_unlock(grn_ctx *ctx, grn_obj *obj, grn_id id)#

objをunlockします。

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

grn_rc grn_obj_clear_lock(grn_ctx *ctx, grn_obj *obj)#

強制的にロックをクリアします。

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

unsigned int grn_obj_is_locked(grn_ctx *ctx, grn_obj *obj)#

objが現在lockされていれば0以外の値を返します。

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

int grn_obj_defrag(grn_ctx *ctx, grn_obj *obj, int threshold)#

objの占有するDBファイル領域のうち、可能な領域をthresholdを指標としてフラグメントの解消を行います。

フラグメント解消が実行されたセグメントの数を返します。

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

grn_id grn_obj_id(grn_ctx *ctx, grn_obj *obj)#

objのidを返します。

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

grn_rc grn_obj_delete_by_id(grn_ctx *ctx, grn_obj *db, grn_id id, grn_bool removep)#

dbからidに対応するテーブルやカラムなどを削除します。mroonga向けに用意した内部APIです。

パラメータ:
  • db -- The target database.

  • id -- The object (table, column and so on) ID to be deleted.

  • removep -- If GRN_TRUE, clear object cache and remove relation between ID and key in database. Otherwise, just clear object cache.

grn_rc grn_obj_path_by_id(grn_ctx *ctx, grn_obj *db, grn_id id, char *buffer)#

dbのidに対応するpathを返します。mroonga向けに用意した内部APIです。

パラメータ:
  • db -- The target database.

  • id -- The object (table, column and so on) ID to be deleted.

  • buffer -- path string corresponding to the id will be set in this buffer.

grn_rc grn_obj_cast_by_id(grn_ctx *ctx, grn_obj *source, grn_obj *destination, grn_bool add_record_if_not_exist)#

It casts value of source to value with type of destination. Casted value is appended to destination.

Both source and destination must be bulk.

If destination is a reference type bulk. (Reference type bulk means that type of destination is a table.) add_record_if_not_exist is used. If source value doesn't exist in the table that is a type of destination. The source value is added to the table.

パラメータ:
  • ctx -- その時点のコンテキスト。

  • source -- The bulk to be casted.

  • destination -- The bulk to specify cast target type and store casted value.

  • add_record_if_not_exist -- Whether adding a new record if source value doesn't exist in cast target table. This parameter is only used when destination is a reference type bulk.

戻り値:

成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。