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 を使用して獲得したメモリを全て開放します。 このメモリはもはや使用できません!メモリ管理の項を参照して下さ い。