SPI_modifytuple
名前
SPI_modifytuple -- 与えられた行の選択フィールドを置き換えた行を作成する
概要
HeapTuple SPI_modifytuple(Relation rel, HeapTuple row, int ncols,
                          int * 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の列数以上)。