Prepare to return a tuple as a datum
HeapTupleHeader SPI_returntuple(HeapTuple row, TupleDesc rowdesc)
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.
HeapTuple row
row to be copied
TupleDesc rowdesc
descriptor for row (pass the same descriptor each time for most effective caching)
HeapTupleHeader pointing to copied row; NULL only if row or rowdesc is NULL