SPI_modifytuple
名前
SPI_modifytuple -- 与えられた行の選択フィールドを置き換えた行を作成する
概要
HeapTuple SPI_modifytuple(Relation rel
, HeapTuple row
, ncols
, colnum
, Datum * values
, const char * nulls
)
説明
SPI_modifytuple
は、選択された列は新しい値で置き換え、その他の位置は元の行の列をコピーした、新しい行を作成します。
入力行は変更されません。
引数
- Relation
rel
行の行記述子のソースとしてのみ使用されます
(行記述子ではなくリレーションを渡すことは設計ミスです)。
- HeapTuple
row
変更される行。
- int
ncols
colnum
配列の列番号の数。
- int *
colnum
変更される列番号の配列
(列番号は1から始まります)。
- Datum *
values
指定された列の新しい値。
- const char *
Nulls
もしあれば、どの値がNULLかを表します
(書式についてはSPI_execute_plan
を参照してください)。
戻り値
変更された新しい行。上位エクゼキュータコンテキストに割り当てられます。
row
がNULLの場合のみNULLです。
エラー時、SPI_result
が以下のように設定されます。
- SPI_ERROR_ARGUMENT
rel
がNULLの場合、row
がNULLの場合、ncols
が0以下の場合、colnum
がNULLの場合、values
がNULLの場合。
- SPI_ERROR_NOATTRIBUTE
colnum
が無効な列番号を持つ場合
(0以下、row
の列数以上)。