SPI_finish

Name

SPI_finish --  ユーザ定義のプロシージャを SPI マネージャから切断します。

Synopsis

SPI_finish(void)

入力

なし。

出力

int

SPI_OK_FINISH 正常に切断された場合。
SPI_ERROR_UNCONNECTED 未接続のプロシージャから呼び出された場合。

説明

SPI_finish は既存の Postgres バックエンドへの接続を閉じます。 SPI マネージャを使った操作を終了した後にはこの関数を呼び出して下さい。

有効な接続が存在しない状態で SPI_finish が呼 び出された場合、SPI_ERROR_UNCONNECTED というエラーが返ります。このエラーコードについては特に問題はありま せん。これは SPI マネージャが何も行なわなかったということを意味し ています。

使い方

SPI_finish必ず 接続し たプロシージャの最後の段階で呼び出されなければなりません。さもないと、 予測できない結果が起きるかもしれません!( elog(ERROR) を使って)ト ランザクションを中断した場合は、SPI_finish の呼 び出しを省略しても問題がないことに注意して下さい。

アルゴリズム

SPI_finish は以下を行ないます。

ユーザ定義のプロシージャを SPI マネージャから切断し、 SPI_connect を実行してからそのプロシージャが palloc を使用して獲得したメモリを全て開放しま す。このメモリはもはや使用できません!メモリ管理の項を参照して下さ い。