NameSPI_modifytuple -- Creates a tuple by replacing selected fields of a given tuple SynopsisSPI_modifytuple(rel, tuple, nattrs, attnum, Values, Nulls) Inputs- Relation rel
Used only as source of tuple descriptor for tuple. (Passing a relation rather than a tuple descriptor is a misfeature.) - HeapTuple tuple
Input tuple to be modified - int nattrs
Number of attribute numbers in attnum array - int * attnum
Array of numbers of the attributes that are to be changed - Datum * Values
New values for the attributes specified - char * Nulls
Which new values are NULL, if any
Outputs- HeapTuple
New tuple with modifications | non-NULL if tuple is not NULL and the modify was successful | | NULL only if tuple is NULL |
- SPI_result
| 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) |
DescriptionSPI_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. UsageIf successful, a pointer to the new tuple is returned. The new tuple is allocated in upper Executor context.
|