서버에서 생성 된 토토 사이트 추천 및 경고 메시지는 쿼리 실패를 암시하지 않기 때문에 쿼리 실행 함수에 의해 반환되지 않습니다. 대신 토토 사이트 추천 처리 기능으로 전달되며 핸들러가 반환 한 후에는 일반적으로 실행이 계속됩니다. 기본 토토 사이트 추천 처리 기능은 메시지를 인쇄합니다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
. (이를 통해 수신기가 사용을 사용하여 개별 필드를 추출 할 수 있습니다pqresulterrorfield
또는를 사용하여 완전한 미리 형식화 된 메시지를 얻으십시오.PQRESULTERRORMESSAGE
또는PQRESULTVERBOSEERRORMESSAGE
.) 동일한 공극 포인터가 전달되었습니다PQSETNOTICERECEIVER
도 통과됩니다. (이 포인터는 필요한 경우 응용 프로그램 별 상태에 액세스하는 데 사용할 수 있습니다.)
기본 토토 사이트 추천 수신기는 간단히 메시지를 추출합니다 (사용PQRESULTERRORMESSAGE
) 그리고 그것을 토토 사이트 추천 프로세서로 전달합니다.
통지 프로세서는 텍스트 양식에 제공된 통지 또는 경고 메시지를 처리 할 책임이 있습니다. 그것은 메시지의 문자열 텍스트 (후행 신성 라인 포함)와 동일한 포인터와 동일한 포인터가 전달됩니다.pqsetnoticeprocessor
. (이 포인터는 필요한 경우 응용 프로그램 별 상태에 액세스하는 데 사용할 수 있습니다.)
기본 통지 프로세서는 간단히 다음과 같습니다.
정적 무효 defaultNoticeProcessor (void *arg, const char *메시지) fprintf (stderr, "%s", 메시지);
일단 통지 수신자 또는 프로세서를 설정하면 해당 기능이만큼 오랫동안 호출 될 수 있어야합니다.pgconn
개체 또는pgresult
그로 만든 물체가 존재합니다. A의 창조시pgresult
, Thepgconn
의 현재 통지 처리 포인터가 복사되었습니다pgresult
같은 기능으로 가능한 사용pqgetValue
.