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
通过把新数值替换到选定的字段中,然后把元组其它
字段拷贝到相应位置创建一个新的元组.不会修改输入元组.
用法
如果成功,返回一个指向新元组的指针.
新元组是在上层执行器环境中分配的.