SPI_modifytuple(rel, tuple, nattrs, attnum, Values, Nulls)
Used only as source of tuple descriptor for tuple. (Passing a relation rather than a tuple descriptor is a misfeature.)
Input tuple to be modified
Number of attribute numbers in attnum array
Array of numbers of the attributes that are to be changed
New values for the attributes specified
Which new values are NULL, if any
New tuple with modifications
|non-NULL if tuple is not NULL and the modify was successful|
|NULL only if tuple is NULL|
|SPI_ERROR_ARGUMENT if rel is NULL or tuple is NULL or natts <= 0 or attnum is NULL or Values is NULL.|
|SPI_ERROR_NOATTRIBUTE if there is an invalid attribute number in attnum (attnum <= 0 or > number of attributes in tuple)|
SPI_modifytuple creates a new tuple by substituting new values for selected attributes, copying the original tuple's attributes at other positions. The input tuple is not modified.
If successful, a pointer to the new tuple is returned. The new tuple is allocated in upper Executor context.