spi_modifytuple - 주어진 행의 선택된 필드를 교체하여 행을 만듭니다
Heappuple Spi_ModifyTuple (관계Rel
, heaptuplerow
, intNCOLS
, int *Colnum
, Datum *값
, const char *nulls
)
SPI_ModifyTuple
선택한 열에 대한 새 값을 대체하여 원래 행의 열을 다른 위치에서 복사하여 새 행을 만듭니다. 입력 행이 수정되지 않았습니다. 새 행은 상위 집행자 컨텍스트에서 반환됩니다.
이 함수는 SPI에 연결된 상태에서만 사용할 수 있습니다. 그렇지 않으면 NULL을 반환하고 설정합니다SPI_RESULT
toSPI_ERROR_UNCONNECT
.
관계Rel
행의 행 디스크립터의 소스로만 사용됩니다. (행 디스크립터가 아닌 관계를 전달하는 것은 잘못입니다.)
heappupleRow
수정 될 행
intncols
변경할 열 수
int *Colnum
길이 배열NCOLS
, 변경할 열의 수를 포함하는 (열 번호 1에서 시작)
Datum *값
길이 배열NCOLS
, 지정된 열에 대한 새 값을 포함하는
const char *nulls
길이 배열NCOLS
, 어떤 새로운 값이 null인지 설명
ifnulls
isNULL
theSPI_ModifyTuple
새 값이 무효라고 가정합니다. 그렇지 않으면,의 각 항목nulls
배열이' '
해당 새 값이 Null이 아닌 경우'n'
해당 새 값이 NULL 인 경우. (후자의 경우 해당의 실제 값값
항목은 중요하지 않습니다.) 참고nulls
텍스트 문자열이 아니라 배열 일뿐입니다. 필요하지 않습니다'\ 0'
터미네이터.
수정 된 새 행, 상단 집행자 컨텍스트에 할당 된 새로운 행,NULL
오류 (참조SPI_RESULT
오류 표시)
on Error,SPI_RESULT
다음과 같이 설정됩니다.
SPI_ERROR_ARGUMENT
ifRel
isNULL
또는 ifRow
isNULL
또는 ifNCOLS
0 이하이거나 동일하거나 ifColnum
isNULL
또는 if값
isNULL
.
spi_error_noattribute
ifColnum
유효하지 않은 열 번호가 포함row
)
SPI_ERROR_UNCONNECT
SPI가 활성화되지 않은 경우