SPI_returntuple
makes a copy of a row in
the upper executor context, returning it in the form of a row type Datum.
The returned pointer need only be converted to Datum via PointerGetDatum
before returning.
Note that this should be used for functions that are declared to return
composite types. It is not used for triggers; use
SPI_copytuple
for returning a modified row in a trigger.