33.12. 메이저 토토 사이트 처리

서버에서 생성 한 메이저 토토 사이트 및 경고 메시지는 쿼리 실행 기능에 의해 반환되지 않습니다. 대신 메이저 토토 사이트 처리 기능으로 전달되며 핸들러가 반환 한 후에는 일반적으로 실행이 계속됩니다. 기본 메이저 토토 사이트 처리 기능은 메시지를 인쇄합니다Stderr, 그러나 응용 프로그램은 자체 취급 기능을 제공 하여이 동작을 무시할 수 있습니다.

역사적 이유로, 메이저 토토 사이트 수신자 및 메이저 토토 사이트 프로세서라고하는 두 가지 수준의 메이저 토토 사이트 처리가 있습니다. 기본 동작은 메이저 토토 사이트 수신자가 메이저 토토 사이트를 포맷하고 인쇄를 위해 메이저 토토 사이트 프로세서에 문자열을 전달하는 것입니다. 그러나 자체 메이저 토토 사이트 수신자를 제공하기로 선택한 응용 프로그램은 일반적으로 메이저 토토 사이트 프로세서 계층을 무시하고 메이저 토토 사이트 수신자에서 모든 작업을 수행합니다..

함수PQSETNOTICERECEIVER 연결 객체에 대한 현재 통지 수신기를 설정하거나 검사합니다. 비슷하게,pqsetnoticeProcessor 현재 통지 프로세서를 설정하거나 검토합니다.

typedef void ( *pqnoticereceiver) (void *arg, const pgresult *res);

PQNOTICERECEIVER
pqsetnoticereceiver (pgconn *conn,
                    PQNOTICERECEIVER PROC,
                    void *arg);

typedef void ( *pqnoticeProcessor) (void *arg, const char *message);

pqnoticeprocessor
pqsetnoticeprocessor (pgconn *conn,
                     pqnoticeprocessor proc,
                     void *arg);

이러한 각 함수는 이전 통지 수신기 또는 프로세서 함수 포인터를 반환하고 새 값을 설정합니다. NULL 기능 포인터를 제공하면 조치가 취하지 않지만 현재 포인터는 반환됩니다.

서버에서 메이저 토토 사이트 또는 경고 메시지가 수신되거나 내부적으로 생성되는 경우libpq, 통지 수신자 함수가 호출됩니다. 그것은 a의 형태로 메시지를 전달합니다.pgres_nonfatal_error pgresult. (이를 통해 수신기가 사용을 사용하여 개별 필드를 추출 할 수 있습니다pqresulterrorfieldPQRESULTERRORMESSAGE또는PQRESULTVERBOSEERRORMESSAGE.) 동일한 공극 포인터가 전달되었습니다PQSETNOTICERECEIVER도 통과됩니다. (이 포인터는 필요한 경우 응용 프로그램 별 상태에 액세스하는 데 사용할 수 있습니다.)

기본 메이저 토토 사이트 수신기는 간단히 메시지를 추출합니다 (사용PQRESULTERRORMESSAGE) 그리고 그것을 메이저 토토 사이트 프로세서로 전달합니다.

통지 프로세서는 텍스트 양식으로 제공된 통지 또는 경고 메시지를 처리 ​​할 책임이 있습니다. 그것은 메시지의 문자열 텍스트 (후행 신성 라인 포함)와 동일한 포인터와 동일한 포인터가 전달됩니다.pqsetnoticeProcessor. (이 포인터는 필요한 경우 응용 프로그램 별 상태에 액세스하는 데 사용할 수 있습니다.)

기본 메이저 토토 사이트 프로세서는 간단합니다.

정적 무효
defaultNoticeProcessor (void *arg, const char *메시지)

    fprintf (stderr, "%s", 메시지);

일단 통지 수신자 또는 프로세서를 설정하면 해당 기능이만큼 오랫동안 호출 될 수 있어야합니다.pgconn개체 또는pgresult그로 만들어진 개체가 존재합니다. A의 창조시pgresult, Thepgconn의 현재 통지 처리 포인터가에 복사되었습니다.pgresult같은 기능으로 사용할 수 있도록pqgetValue.

수정 제출

문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면