# groonga - An open-source fulltext search engine and column store.

- 日本語

# 7.21.19. `grn_proc`

## 7.21.19.1. Summary

TODO...

## 7.21.19.2. Example

TODO...

## 7.21.19.3. Reference

`grn_proc_type`

  TODO...

`grn_proc_func`

  TODO...

grn_obj *`grn_proc_create`(grn_ctx *ctx, const char *name, int name_size, grn_proc_type type, grn_proc_func *init, grn_proc_func *next, grn_proc_func *fin, unsigned int nvars, grn_expr_var *vars)

  nameに対応する新たなproc(手続き)をctxが使用するdbに定義します。

  Parameters: | name -- 作成するprocの名前を指定します。 name_size -- The number of bytes of name parameter. If negative value is specified, name parameter is assumed that NULL-terminated string. type -- procの種類を指定します。 init -- 初期化関数のポインタを指定します。 next -- 実処理関数のポインタを指定します。 fin -- 終了関数のポインタを指定します。 nvars -- procで使用する変数の数を指定します。 vars -- procで使用する変数の定義を指定します。( `grn_expr_var` 構造体の配列)

grn_obj *`grn_proc_get_info`(grn_ctx *ctx, grn_user_data *user_data, grn_expr_var **vars, unsigned int *nvars, grn_obj **caller)

  user_dataをキーとして、現在実行中の `grn_proc_func` 関数および定義されている変数( `grn_expr_var` )の配列とその数を取得します。

  Parameters: | user_data -- `grn_proc_func` に渡されたuser_dataを指定します。 nvars -- 変数の数を取得します。

grn_rc `grn_obj_set_finalizer`(grn_ctx *ctx, grn_obj *obj, grn_proc_func *func)

  objectを破棄するときに呼ばれる関数を設定します。

  table, column, proc, exprのみ設定可能です。

  Parameters: | obj -- 対象objectを指定します。 func -- objectを破棄するときに呼ばれる関数を指定します。