SPI_connect, SPI_connect_ext — SPIマネージャにC関数を接続する
int SPI_connect(void)
int SPI_connect_ext(int options)
SPI_connectはC関数の呼び出しからSPIマネージャへの接続を開きます。
SPIを経由してコマンドを実行させる場合、この関数を呼び出さなければなりません。
SPIユーティリティ関数の中には、未接続のC関数から呼び出し可能なものがあります。
SPI_connect_extは同様に動作しますが、オプションフラグを渡せる引数を一つもちます。
今のところ以下のオプション値が使えます。
SPI_OPT_NONATOMIC
SPI接続を非原子的になるように設定します。これはトランザクション制御呼び出し(SPI_commit、SPI_rollback)が可能であることを意味します。
このフラグなしで、これら関数を呼び出すと即座にエラーになります。
SPI_connect()はSPI_connect_ext(0)と同義です。
SPI_OK_CONNECT成功した場合。
これらの関数がvoidではなくintを返すのは歴史的なものです。
すべての失敗状況はereportまたはelogで報告されます。
(PostgreSQL v10より前のバージョンでは、一部の失敗はSPI_ERROR_CONNECTの結果値で報告されましたが、すべての失敗に対してではありませんでした。)