SPI_modifytuple
Name
SPI_modifytuple -- 与えられたタプルの選択されたフィールドを置き換えたタプルを作成します。
Synopsis
SPI_modifytuple(rel, tuple, nattrs, attnum, Values, Nulls)
入力
- Relation rel
タプルのタプル記述子のソースとしてのみ使用されます。(タプル記述子ではなくリレーションを渡す機能はありません。)
- HeapTuple tuple
変更される、入力タプルです。
- int nattrs
attnum 配列内の属性番号の数です。
- int * attnum
変更される属性番号の配列です。
- Datum * Values
指定した属性の新しい値です。
- char * Nulls
もしあれば、どの新しい値がNULLかを示します。
出力
- HeapTuple
変更された、新しいタプルです。
tuple が NULL ではなく、かつ、変更に成功した場合は 非 NULL です。 |
tuple が NULL の場合のみ、NULL です。 |
- SPI_result
rel が NULL、もしくは、tuple が NULL、もしくは、natts <= 0 もしくは、attnum が NULL、もしくは、values が NULL の場合、SPI_ERROR_ARGUMENT です。 |
attnum 内に無効な属性番号があった場合、SPI_ERROR_NOATTRIBUTE です。 (attnum <= 0 もしくは > タプル内の属性数) |
説明
SPI_modifytuple は選択された属性を新しい値に置き換え、元のタプルの属性をコピーして、別の場所にタプルを新しく作成します。入力タプルは変更されません。
使用方法
成功した場合、新しいタプルのポインタが返されます。新しいタプルは上位エグゼキュータのコンテキスト内に割り当てられます。