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の列数以上)。