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

# SPI_saveplan

## 名前

SPI_saveplan -- 計画を保存する

## 概要

    SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

## 説明

`SPI_saveplan`は渡された（`SPI_prepare`で準備された）計画を`SPI_finish`とトランザクションマネージャで解放されないメモリ内に保存します。 そして、保存した計画のポインタを返します。 これは、現在のセッションにおける、その後のプロシージャの呼び出しで準備された計画を再利用できる機能を提供します。

## 引数

`SPIPlanPtr `plan``

  保存する計画

## 戻り値

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

`SPI_ERROR_ARGUMENT`

  `plan`が`NULL`、または無効な場合

`SPI_ERROR_UNCONNECTED`

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

## 注意

渡される計画は解放されません。 ですので、`SPI_finish`を行うまでのメモリリークを防ぎたければ`SPI_freeplan`を実行してください。

準備された計画で参照されるオブジェクト（テーブル、関数など）のいずれかが削除または再定義された場合、その後に`SPI_execute_plan`を実行すると、失敗するか計画当初に示される結果と異なる結果が返される可能性があります。

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