This page in other versions: Unsupported versions: 7.1 / 7.2 / 7.3



SPI_modifytuple -- Creates a tuple by replacing selected fields of a given tuple


SPI_modifytuple(rel, tuple, nattrs, attnum, Values, Nulls)


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



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.

Privacy Policy | About PostgreSQL
Copyright © 1996-2015 The PostgreSQL Global Development Group