Postgresql 9.3.25 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.3 : 토토 캔 | 토토 사이트 : 문서 : 9.3 : 토토 사이트 프로그래밍 인터페이스 | 44 장 서버 인터페이스 프로그래밍 | 토토 커뮤니티 : 문서 : 9.3 : SPI_PALLOC |
SPI_EXECUTE
또는 a
유사한 기능PostgreSQL롤 토토를 할당합니다
이내에롤 토토 컨텍스트여러 가지로 만들어진 할당을 관리하는 편리한 방법
다른 시간 동안 살아야하는 장소. 파괴
컨텍스트는 할당 된 모든 롤 토토를 방출합니다. 따라서,
피하기 위해 개별 물체를 추적 할 필요는 없습니다.
롤 토토 누출; 대신 상대적으로 적은 수의 맥락 만
관리해야합니다.Palloc
및
관련 함수는에서 롤 토토를 할당합니다."현재"컨텍스트.
SPI_CONNECT
새로운 롤 토토를 만듭니다
맥락과 그것을 최신으로 만듭니다.SPI_FINISH
이전의 현재 메모리를 복원합니다
맥락과 컨텍스트를 파괴합니다.SPI_CONNECT
. 이러한 조치는 일시적으로 보장합니다
절차 내부에서 이루어진 롤 토토 할당은 다시 시작됩니다
롤 토토 누출 방지 절차 종료.
그러나 절차가 객체를 반환 해야하는 경우
할당 된 롤 토토 (예 : Pass-by-Reference 데이터의 값 등
유형),를 사용하여 해당 롤 토토를 할당 할 수 없습니다Palloc
, 적어도 연결되는 동안
SPI. 시도하면 객체는에 의해 거래됩니다.SPI_FINISH
및 귀하의 절차는 작동하지 않습니다
확실하게. 이 문제를 해결하려면 사용SPI_PALLOC
반품에 대한 롤 토토를 할당합니다
물체.SPI_PALLOC
롤 토토를 할당합니다
에서"상위 집행자 컨텍스트", 그
IS,SPI_CONNECT
가 호출되었는데, 이것은 정확히입니다
절차에서 반환 된 값에 대한 올바른 컨텍스트.
ifSPI_PALLOC
절차는 SPI에 연결되어 있지 않으면
정상Palloc
. 절차 전에
SPI 관리자에게 연결하면 현재 롤 토토 컨텍스트는 다음과 같습니다.
상위 집행자 컨텍스트, 따라서 절차에 의해 모든 할당
을 통해Palloc
또는 SPI 유틸리티에 의해
기능은이 맥락에서 이루어집니다.
언제SPI_CONNECT
절차의 사적인 맥락.SPI_CONNECT
는 현재 상황으로 만들어졌습니다. 모두
할당Palloc
,
Repalloc
또는 SPI 유틸리티 함수
(제외SPI_COPYTUPLE
,
spi_returntuple
, SPI_ModifyTuple
및SPI_PALLOC
)는이 맥락에서 이루어집니다. 언제 a
절차는 SPI 관리자와의 연결을 끊습니다 (viaSPI_FINISH
) 현재 컨텍스트가 복원됩니다
상위 집행자 컨텍스트 및 모든 할당
절차 롤 토토 컨텍스트가 해제되고 더 이상 사용할 수 없습니다.
이 섹션에 설명 된 모든 기능은 둘 다에서 사용할 수 있습니다.
연결 및 연결되지 않은 절차. 연결되지 않은 절차에서
그들은 기본 일반 서버 기능과 동일하게 행동합니다.
(Palloc
등).
이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
spi_getnspname | 토토 사이트 : 문서 : 9.3 : 토토 사이트 프로그래밍 인터페이스 | SPI_PALLOC |