이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 무지개 토토지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 45 장 토토 캔 프로그래밍 토토 캔버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

17장. 서버 프로그래밍 무지개 토토

목차
17.1. 무지개 토토 기능
SPI_connect --  프로시저를 SPI 관리자에 연결합니다.
SPI_finish --  SPI 관리자에서 프로시저의 연결을 끊습니다.
postgresql : 문서 : 7.3 : 메이저 토토 사이트_exec --  실행 계획(파서+플래너+옵티마이저)을 생성하고 쿼리를 실행합니다.
SPI_prepare --  쿼리를 실행하지 않고 쿼리 계획을 준비합니다. 아직
SPI_execp -- 다음을 실행합니다. 계획부터SPI_prepare
SPI_cursor_open -- 세트 로 생성된 계획을 사용하여 커서를 위로 올립니다.SPI_prepare
SPI_cursor_find -- 찾기 이름별 기존 커서(포털)
SPI_cursor_fetch -- 가져오기 커서의 일부 행
SPI_cursor_move -- 이동 커서
SPI_cursor_close -- 닫음 커서
SPI_saveplan --  통과된 계획을 저장합니다.
17.2. PostgreSQL : 문서 :
SPI_f번호 -- 찾기 지정된 속성 이름의 속성 번호
SPI_fname -- 다음을 찾습니다. 지정된 속성 번호에 대한 속성 이름
SPI_getvalue -- 반품 지정된 속성의 문자열 값
SPI_getbinval -- 반품 지정된 속성의 바이너리 값
SPI_gettype -- 반품 지정된 속성의 유형 이름
SPI_gettypeid -- 반품 유형OID의 지정된 속성
SPI_getrelname -- 반품 지정된 관계의 이름
17.3. PostgreSQL : 문서
SPI_copytuple -- 만드는 것 상위 실행자 컨텍스트의 튜플 복사본
SPI_copytupledesc -- 만드는 것 상위 실행자 컨텍스트의 튜플 설명자 복사본
SPI_copytupleintoslot -- 만드는 것 상위 실행자의 튜플 및 설명자 복사본 맥락
SPI_modifytuple -- 생성 주어진 필드의 선택된 필드를 대체하여 튜플 튜플
SPI_palloc -- 할당 상위 실행자 컨텍스트의 메모리
SPI_repalloc -- 재할당 상위 실행자 컨텍스트의 메모리
SPI_pfree -- 해제 상위 실행자 컨텍스트의 메모리
SPI_freetuple -- 해제 상위 Executor 컨텍스트에 할당된 튜플
SPI_freetuptable -- 해제 에 의해 생성된 튜플 세트SPI_exec또는 유사한 기능
SPI_freeplan --  이전에 저장된 계획을 출시합니다.
17.4. 무지개 토토 : 문서 : 7.3 :
17.5. 범퍼카 토토 : 문서 : 7.3 : 예제

서버 프로그래밍 무지개 토토 (SPI)는 사용자에게 다음 기능을 제공합니다. 달리다SQL내부 쿼리 사용자 정의C함수.

참고:사용 가능한 절차적 언어 (PL) 대안 제공 쿼리를 실행할 수 있는 함수를 구축하는 것을 의미합니다.

사실,SPI그냥 세트일 뿐이야 파서에 대한 액세스를 단순화하는 기본 무지개 토토 기능, 플래너, 옵티마이저 및 실행자.SPI또한 일부 메모리 관리도 수행합니다.

오해를 피하기 위해 다음을 사용하겠습니다.함수의미SPI인터페이스 함수 및절차다음을 사용하는 사용자 정의 C 함수의 경우SPI.

사용하는 절차SPIExecutor에 의해 호출됩니다.SPI호출은 다음에서 실행자를 재귀적으로 호출합니다. 쿼리를 실행하려면 켜세요. Executor가 재귀적으로 호출되면 자체적으로 다음을 수행할 수 있는 절차를 호출할 수 있습니다.SPI호출.

프로시저에서 쿼리를 실행하는 동안 거래가 중단되면 통제권이 귀하에게 반환되지 않습니다. 절차. 오히려 모든 작업이 롤백되고 서버가 클라이언트의 다음 명령을 기다립니다. 이것은 아마도 향후 버전에서는 변경될 것입니다.

관련 제한 사항은 BEGIN, END를 실행할 수 없다는 것입니다. 및 ABORT(트랜잭션 제어문). 이것도 될 것이다 앞으로는 바뀔 것입니다.

성공한다면,SPI함수는 음수가 아닌 결과를 반환합니다(반환된 설명된 대로 정수 값 또는 SPI_result 전역 변수에 아래). 오류가 발생하면 음수 또는 NULL 결과가 반환됩니다.

17.1. 인터페이스 기능

목차
SPI_connect --  프로시저를 SPI 관리자에 연결합니다.
SPI_finish --  SPI 관리자에서 프로시저의 연결을 끊습니다.
postgresql : 문서 : 7.3 : 메이저 토토 사이트_exec --  실행 계획(파서+플래너+옵티마이저)을 생성하고 쿼리를 실행합니다.
SPI_prepare --  아직 실행하지 않고 쿼리 계획을 준비합니다.
SPI_execp -- 다음을 실행합니다. 계획부터SPI_prepare
SPI_cursor_open -- 세트 로 생성된 계획을 사용하여 커서를 위로 올립니다.SPI_prepare
SPI_cursor_find -- 찾기 이름별 기존 커서(포털)
SPI_cursor_fetch -- 가져오기 커서의 일부 행
SPI_cursor_move -- 이동 커서
SPI_cursor_close -- 닫음 커서
SPI_saveplan --  저장 통과된 계획