2025년 9월 25일:토토 커뮤니티 : 토토

34.8. 빠른 경로 윈 토토

윈 토토간단한 함수 호출을 서버에 보낼 수 있는 빠른 경로 윈 토토를 제공합니다.

이 인터페이스는 함수 호출을 정의하기 위해 준비된 명령문을 설정하여 비슷한 성능과 더 큰 기능을 얻을 수 있으므로 다소 구식입니다. 그런 다음 매개변수 및 결과의 이진 전송으로 명령문을 실행하면 빠른 경로 함수 호출이 대체됩니다.

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

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

typedef 구조체

    int len;
    int isint;
    노동조합

        int *ptr;
        정수 정수;
     당신;
 PQArgBlock;

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

PQfn항상 유효한 값을 반환합니다PGresult포인터, 상태 포함PGRES_COMMAND_OK성공을 위해 또는PGRES_FATAL_ERROR어떤 문제가 발생한 경우. 결과를 사용하기 전에 결과 상태를 확인해야 합니다. 호출자는를 해제할 책임이 있습니다.PGresult함께PQclear더 이상 필요하지 않은 경우.

함수에 NULL 인수를 전달하려면,len해당 매개변수 구조의 필드-1;isint그리고u그러면 필드는 관련이 없습니다.

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

이 인터페이스를 사용할 때는 설정된 값을 처리할 수 없다는 점에 유의하세요. 또한 함수는 집계, 창 함수 또는 프로시저가 아닌 일반 함수여야 합니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.