이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다젠 토토 : 문서 : 17 : 32.8. 빠른 경로 인터페이스버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

29.6. 빠른 경로 인터페이스

postgresql제공 a 간단한 함수 호출을 보내기위한 빠른 경로 토토 결과 섬기는 사람.

팁 :이 인터페이스는 하나와 같이 다소 쓸모가 없습니다 유사한 성능과 더 큰 기능을 달성 할 수 있습니다 기능 호출을 정의하기 위해 준비된 명령문 설정. 그런 다음 이진 전송으로 명세서를 실행합니다 빠른 경로 함수를위한 매개 변수 및 결과 대체 부르다.

함수PQFN서버의 실행을 요청합니다 빠른 경로 인터페이스를 통한 함수 :

pgresult *pqfn (pgconn *conn,
               int fnid,
               int *result_buf,
               int *result_len,
               int result_is_int,
               const pqargblock *args,
               int nargs);

typedef struct 
    int len;
    int isint;
    연합 
        int *ptr;
        int 정수;
     u;
 pqargblock;

thefnid인수는 다음과 같습니다 실행할 기능.argsandNARGS매개 변수를 정의하십시오 기능으로 전달; 선언 된 기능과 일치해야합니다 인수 목록. 때isint필드 매개 변수 구조는 사실입니다.U.Integer값은 서버로 전송됩니다 표시된 길이의 정수 (이것은 1, 2 또는 4 바이트 여야합니다); 적절한 바이트 스왑 핑이 발생합니다. 언제isint거짓, 표시된 바이트 수는*u.ptr처리없이 전송됩니다. 데이터는 서버가 바이너리에 대해 예상되는 형식이어야합니다. 기능의 인수 데이터 유형의 전송.result_buf를 배치하는 버퍼입니다 반환 값. 발신자는 충분한 공간을 할당해야합니다 반환 값을 저장하십시오. (점검이 없습니다!) 실제 결과 길이는에 의해 지적 된 정수에서 반환됩니다.result_len. 1, 2 또는 4 바이트 정수 결과 인 경우 예상됩니다, setresult_is_int~ 1, 그렇지 않으면 0으로 설정합니다. 설정result_is_int~ 1 원인libpq필요한 경우 값을 바이트로 스왑하려면 그것이 적절한 것으로 전달되도록int클라이언트 시스템의 값. 언제result_is_int는 0, 이진 형식 바이트입니다 서버에서 전송 된 문자열은 수정되지 않은 것으로 반환됩니다.

PQFN항상 유효한 반환pgresult포인터. 결과 상태 결과가 사용되기 전에 확인해야합니다. 발신자입니다 해방 책임pgresultwithPQCLEAR더 이상 없을 때 필요합니다.

null 인수를 처리하는 것은 불가능하다는 점에 유의하십시오. 이 토토 결과를 사용할 때 결과, 또는 설정 값 결과.