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

32.8. 빠른 경로 범퍼카 토토#

PostgreSQL서버에 간단한 함수 호출을 보내기위한 빠른 경로 범퍼카 토토를 제공합니다.

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

함수PQFN빠른 경로 범퍼카 토토를 통한 서버 기능의 실행 요청 :

pgresult *pqfn (pgconn *conn,

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

PQFN항상 유효한 반환pgresult상태가있는 포인터pgres_command_ok성공 또는pgres_fatal_error문제가 발생한 경우. 결과 상태는 결과를 사용하기 전에 확인해야합니다.pgresultwithPQCLEAR더 이상 필요하지 않은 경우.

널 인수를 함수에 전달하려면를 설정하십시오.Len해당 매개 변수 구조의 필드-1; 그만큼isintandu필드는 관련이 없습니다.

함수가 NULL을 반환하는 경우*result_len로 설정되었습니다-1*result_buf수정되지 않았습니다.

이 인터페이스를 사용할 때 설정 값 결과를 처리 할 수는 없습니다. 또한 함수는 집계, 창 함수 또는 절차가 아닌 일반 기능이어야합니다.