【JPUG主催】PostgreSQLカンファレンス2020【11月13日開催】
他のバージョンの文書 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

名前

SPI_freetuptableSPI_executeや類似の関数によって生成された行セットを解放する

概要

void SPI_freetuptable(SPITupleTable * tuptable)

説明

SPI_freetuptableは、以前にSPI_executeなどのSPIコマンド実行関数によって作成された行セットを解放します。 そのため、この関数はよくSPI_tuptableグローバル変数を引数として呼び出されます。

この関数はSPIプロシージャが複数のコマンドを実行する必要があり、かつ、初期のコマンドの結果を終わりまで保持したくない場合に有用です。 解放されない行セットは、SPI_finish時に全て解放されることに注意してください。 また副トランザクションが始まった後SPIプロシージャの実行中にアボートした場合、SPIは自動的に副トランザクションが実行中に作成された行セットすべてを解放します。

PostgreSQL 9.3からSPI_freetuptableには同一行セットに対して重複する削除要求から保護する保護ロジックが含まれます。 過去のリリースでは重複する削除がクラッシュをもたらすかもしれませんでした。

引数

SPITupleTable * tuptable

解放する行セットへのポインタ。または何も行わないことを示すNULL。