12th September 2019: PostgreSQL 12 Beta 4 Released!
Unsupported versions: 7.0 / 6.5 / 6.4
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the supported versions listed above instead.

SPI_modifytuple

Name

SPI_modifytuple — Modifies tuple of relation
SPI_modifytuple(rel, tuple , nattrs
, attnum , Values , Nulls)

Inputs

Relation rel
HeapTuple tuple

Input tuple to be modified

int nattrs

Number of attribute numbers in attnum

int * attnum

Array of numbers of the attributes which are to be changed

Datum * Values

New values for the attributes specified

char * Nulls

Which attributes 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)

Description

SPI_modifytuple Modifies a tuple in upper Executor context. See the section on Memory Management.

Usage

If successful, a pointer to the new tuple is returned. The new tuple is allocated in upper Executor context (see Memory management). Passed tuple is not changed.