PostgreSQL Programmer's Guide
PrevNext

SPI_modifytuple

Name

SPI_modifytuple — リレーション中のタプルを変更する

SPI_modifytuple(rel, tuple , nattrs
, attnum , Values , Nulls)

入力

Relation rel

HeapTuple tuple

変更対象の入力タプル

int nattrs

attnum 中のアトリビュート番号の数

int * attnum

変更対象のアトリビュートの番号を格納した配列

Datum * Values

アトリビュートの新しい値を指定します

char * Nulls

NULL がある場合、どのアトリビュートが NULL かを示します

出力

HeapTuple

変更後の新しいタプル

tupleが NULL 以外で、変更がうまく行った場合 non-NULL が返ります。
tuple がNULLの時だけNULLが返ります

SPI_result

SPI_ERROR_ARGUMENT rel が NULL 、tuple が NULL、 natts ≤ 0 、 attnum が NULL あるいはValues が NULL なら NULL が返ります。
SPI_ERROR_NOATTRIBUTE attnum 中のアトリビュート番号が不正(attnum ≤ 0 or > タプル中の アトリビュートの数)

説明

SPI_modifytuple 上位 executor コンテキストにおいて、タプルを変更します。 メモリ管理の項を見て下さい。

使い方

もし成功すれば新しいタプルへのポインタが返ります。 新しいタプルは上位executorコンテキスト(メモリ管理参照)中に 確保されます。 入力タプルは変更されません。


PrevHomeNext
SPI_copytupleUpSPI_fnumber