|
SPI_modifytuple
NameSPI_modifytuple -- create a row by replacing selected fields of a given row
Synopsis
HeapTuple SPI_modifytuple(Relation rel, HeapTuple row, ncols, colnum, Datum * values, const char * nulls)
Description
SPI_modifytuple creates a new row by substituting new values for selected columns, copying the original row's columns at other positions. The input row is not modified.
Arguments
-
Relation rel
-
Used only as the source of the row descriptor for the row. (Passing a relation rather than a row descriptor is a misfeature.)
-
HeapTuple row
-
row to be modified
-
int ncols
-
number of column numbers in the array colnum
-
int * colnum
-
array of the numbers of the columns that are to be changed (column numbers start at 1)
-
Datum * values
-
new values for the specified columns
-
const char * Nulls
-
which new values are null, if any (see SPI_execute_plan for the format)
Return Value
new row with modifications, allocated in the upper executor context; NULL only if row is NULL
On error, SPI_result is set as follows:
-
SPI_ERROR_ARGUMENT
-
if rel is NULL, or if row is NULL, or if ncols is less than or equal to 0, or if colnum is NULL, or if values is NULL.
-
SPI_ERROR_NOATTRIBUTE
-
if colnum contains an invalid column number (less than or equal to 0 or greater than the number of column in row)
|
|