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_execpを参照して下さい。)
戻り値
変更された新しい行。上位エグゼキュータコンテキストに割り当てられます。
rowが NULLの場合のみNULL です。
エラー時、SPI_resultが以下のように設定されます。
- SPI_ERROR_ARGUMENT
rel が NULLの場合、row が NULLの場合、ncolsが0以下の場合、colnum が NULLの場合、values が NULLの場合。
- SPI_ERROR_NOATTRIBUTE
colnumが無効な列番号を持つ場合。
(0以下、rowの列数以上)