이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.젠 토토 : 문서 : 17 : 32.8. 빠른 경로 인터페이스버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

29.6. 빠른 경로 인터페이스

PostgreSQL제공 간단한 함수 호출을 보내는 빠른 경로 토토 결과 서버.

팁:이 인터페이스는 다소 구식입니다. 다음과 같은 방법으로 비슷한 성능과 더 뛰어난 기능을 얻을 수 있습니다. 함수 호출을 정의하기 위해 준비된 문을 설정합니다. 그런 다음 이진 전송으로 명령문을 실행합니다. 매개변수 및 결과는 빠른 경로 기능을 대체합니다. 전화해.

함수PQfn서버 실행을 요청합니다 빠른 경로 토토 결과를 통해 기능:

PGresult *PQfn(PGconn *conn,
               int fnid,
               정수 *result_buf,
               정수 *result_len,
               정수 결과_is_int,
               const PQArgBlock *args,
               int nargs);

형식 정의 구조체 
    int len;
    int isint;
    노동조합 
        int *ptr;
        정수 정수;
     당신;
 PQArgBlock;

fnid인수는 OID입니다. 함수가 실행됩니다.인수그리고나그스매개변수를 정의합니다. 함수에 전달되었습니다. 선언된 함수와 일치해야 합니다. 인수 목록. 때isint필드 매개변수 구조가 참인 경우,u.integer값은 서버에 다음과 같이 전송됩니다. 표시된 길이의 정수(1, 2 또는 4바이트여야 함) 적절한 바이트 교환이 발생합니다. 언제isintfalse, 표시된 바이트 수는*u.ptr처리 없이 전송됩니다. 데이터는 바이너리에 대해 서버에서 예상하는 형식이어야 합니다. 함수의 인수 데이터 유형을 전송합니다.result_buf는 반환 값. 호출자는 충분한 공간을 할당해야 합니다. 반환 값을 저장합니다. (체크가 없습니다!) 실제 결과 길이는 다음이 가리키는 정수로 반환됩니다.result_len. 1, 2 또는 4바이트 정수 결과인 경우 예상됨, 설정됨result_is_int1로, 그렇지 않으면 0으로 설정합니다. 설정result_is_int원인 1개에libpq필요한 경우 값을 바이트 교환하려면, 제대로 전달되도록int클라이언트 시스템의 값입니다. 언제result_is_int0은 이진 형식 바이트입니다. 서버에서 보낸 문자열은 수정되지 않은 상태로 반환됩니다.

PQfn항상 유효한 값을 반환합니다PGresult포인터. 결과 상태 결과를 사용하기 전에 확인해야 합니다. 발신자는 해제를 담당합니다.PGresultPQclear더 이상 존재하지 않을 때 필요합니다.

Null 인수를 처리할 수 없다는 점에 유의하십시오. null 이 인터페이스를 사용할 때 결과 또는 설정된 값 결과가 없습니다.