SPI_modifytuple

Name

SPI_modifytuple -- 通过替换一个给出元组的选定字段创建一个元组

Synopsis

SPI_modifytuple(rel, tuple, nattrs, attnum, Values, Nulls)

输入

Relation rel

只用做元组的元组描述符的源. (传递关系而不是一个元组描述符是错误的特性.)

HeapTuple tuple

要修改的输入元组

int nattrs

在 attnum 数组里的字段数

int * attnum

要修改的字段的编码数组

Datum * Values

为那些字段声明的新数值 New values for the attributes specified

char * Nulls

如果有地话,哪些新数值是 NULL

输出

HeapTuple

经过修改的新元组

如果 tuple 非 NULL 并且修改成功则为 非 NULL
只有 tuple 为 NULL 的时候为 NULL

SPI_result

如果 rel 是 NULL 或者元组为 NULL 或者 natts <= 0 或者 attnum 为 NULL 或者 Values 为 NULL 则返回 SPI_ERROR_ARGUMENT
如果在 attnum 里有非法的字段号(attnum <= 0 或 > 元组中的属性 数目)则返回 SPI_ERROR_NOATTRIBUTE

描述

SPI_modifytuple 通过把新数值替换到选定的字段中,然后把元组其它 字段拷贝到相应位置创建一个新的元组.不会修改输入元组.

用法

如果成功,返回一个指向新元组的指针. 新元组是在上层执行器环境中分配的.