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포인터. 결과 상태
결과를 사용하기 전에 확인해야 합니다. 발신자는
해제를 담당합니다.PGresult와PQclear더 이상 존재하지 않을 때
필요합니다.
Null 인수를 처리할 수 없다는 점에 유의하십시오. null 이 인터페이스를 사용할 때 결과 또는 설정된 값 결과가 없습니다.