PostgreSQL 8.0.0 文書
前のページ | 巻戻し |  | 早送り | 次のページ

# SPI_saveplan

## 名前

SPI_saveplan -- 計画を保存します。

## 概要

    void * SPI_saveplan(void * plan)

## 説明

`SPI_saveplan`は渡された(`SPI_prepare`で準備された)計画を`SPI_finish`とトランザクションマネージャで解放されないメモリ内に保存します。 そして、保存した計画のポインタを返します。 これは、現在のセッションにおける、その後のプロシージャの呼び出しで準備された計画を再利用できる機能を提供します。 返されるポインタを局所変数に保存することができます。 計画を準備する時や`SPI_execute_plan`で既存の準備された計画を使用する時、常にこのポインタが`NULL`かどうかを検査してください。

## 引数

`void * `plan``

  保存する計画。

## 戻り値

保存された計画へのポインタ。 失敗した場合は`NULL`です。 エラー時、`SPI_result`は以下のように設定されます。

`SPI_ERROR_ARGUMENT`

  `plan` が `NULL` の場合。

`SPI_ERROR_UNCONNECTED`

  未接続のプロシージャから呼び出された場合。

## 注意

準備された計画で参照されるオブジェクト(テーブル、関数など)のいずれかがセッションの途中で削除された場合、その計画の`SPI_execute_plan`の結果は予測できません。

前のページ | ホーム | 次のページ
SPI_cursor_close | 上に戻る | インタフェースサポート関数