Name
SPI_modifytuple -- 通過替換一個給出行的選定的字段創建一行
Synopsis
HeapTuple SPI_modifytuple(Relation rel, HeapTuple row, ncols, colnum, Datum * values, const char * nulls)
描述
SPI_modifytuple 通過給選定的字段替換新值,拷貝其它字段的原值的方法創建一個新行。
不修改輸入的行。
參數
- Relation rel
只用于該行的行描述符的源。(傳遞一個關系而不是一個行描述符是一個誤特性。)
- HeapTuple row
要修改的行
- int ncols
在數組 colnum 裡字段編號的個數
- int * colnum
要修改的字段的編號的數組(從 1 開始記)
- Datum * values
聲明字段的新值
- const char * Nulls
如果有的話,哪個新值是空(參閱 SPI_execp 獲取其格式)
返回值
修改後的新行,在上層執行者環境裡分配;只有在 row 是 NULL 的時候為 NULL
出錯時,SPI_result 設置為下列數值:
- SPI_ERROR_ARGUMENT
如果 rel 是 NULL,或者如果 row 是 NULL,
或者如果 ncols 小于或者等于 0,或者 colnum 是 NULL,
或者如果 values 是 NULL。
- SPI_ERROR_NOATTRIBUTE
如果 colnum 包含一個無效的字段編號(小于或者等于 0 或者大于 row 裡的字段數)