SPI_returntuple — подготовка к возврату кортежа в виде Datum
HeapTupleHeader SPI_returntuple(HeapTuplerow, TupleDescrowdesc)
SPI_returntuple создает копию строки в верхнем контексте исполнителя, возвращая ее в формате типа строки Datum.
Возвращаемый указатель достаточно преобразовать в Datum с помощью PointerGetDatum
перед возвратом.
Эта функция может использоваться только при наличии подключения к SPI.
В противном случае она возвращает NULL и устанавливает SPI_result в
SPI_ERROR_UNCONNECTED.
Обратите внимание, что это следует использовать для функций, объявленных с возвращаемым значением составного типа. Для триггеров это не применяется; используйте
SPI_copytuple для возврата измененной строки в триггере.
HeapTuple rowстрока для копирования
TupleDesc rowdescдескриптор строки (для наиболее эффективного кэширования каждый раз передавайте один и тот же дескриптор)
HeapTupleHeader указывающий на скопированную строку,
или NULL в случае ошибки
(см. SPI_result для получения кода ошибки)