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

- 日本語

# 7.25.20. `grn_proc`

## 7.25.20.1. Summary

TODO…

## 7.25.20.2. Example

TODO…

## 7.25.20.3. Reference

type grn_proc_type

  TODO…

type 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を破棄するときに呼ばれる関数を指定します。