Postgresql 9.3.25 문서 | ||||
---|---|---|---|---|
토토 핫 PostgreSQL : 문서 : 9.3 : 기타 함수 | PostgreSQL : 문서 : 9.3 : LIBPQ -C 토토 커뮤니티 | 31 장.libpq-C 라이브러리 | PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트 시스템 |
서버에서 생성 한 배트맨 토토 및 경고 메시지는 쿼리 실행 함수에 의해 반환되었습니다. 쿼리 실패. 대신 그들은 배트맨 토토 처리로 전달됩니다 기능 및 실행은 핸들러 후에 정상적으로 계속됩니다 보고. 기본 배트맨 토토 처리 기능은 메시지를 인쇄합니다Stderr이지만 응용 프로그램은 재정의 할 수 있습니다 자체 취급 기능을 제공 함으로써이 동작.
역사적 이유로 두 가지 수준의 배트맨 토토 처리가 있습니다. 배트맨 토토 수신자 및 배트맨 토토 프로세서라고합니다. 기본값 동작은 배트맨 토토 수신자가 배트맨 토토를 형식화하고 통과하는 것입니다. 인쇄를 위해 배트맨 토토 프로세서에 문자열. 그러나, an 자체 배트맨 토토 수신자를 제공하기로 선택한 응용 프로그램은 일반적으로 배트맨 토토 프로세서 계층을 무시하고 모든 작업을 수행합니다. 배트맨 토토 수신자에서 작업하십시오.
함수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
.)
동일한 공극 포인터가 전달되었습니다PQSETNOTICERECEIVER
도 통과됩니다. (이 포인터
필요한 경우 응용 프로그램 별 상태에 액세스하는 데 사용할 수 있습니다.)
기본 배트맨 토토 수신기는 간단히 메시지를 추출합니다 (사용PQRESULTERRORMESSAGE
)와 통과합니다
배트맨 토토 프로세서에.
배트맨 토토 프로세서는 배트맨 토토를 처리하거나
텍스트 형식으로 제공되는 경고 메시지. 문자열 텍스트가 전달됩니다
메시지 (후행 Newline 포함)와 공간 포인터
그것은 똑같은 것입니다pqsetnoticeProcessor
. (이 포인터를 사용할 수 있습니다
필요한 경우 응용 프로그램 별 상태에 액세스하려면.)
기본 배트맨 토토 프로세서는 간단히 다음과 같습니다.
정적 무효 defaultNoticeProcessor (void *arg, const char *메시지) fprintf (stderr, "%s", 메시지);
일단 통지 수신자 또는 프로세서를 설정하면
그 함수가만큼 오랫동안 호출 될 수있을 것으로 예상합니다.pgconn개체 또는pgresult그로 만들어진 개체가 존재합니다. 창조시
Apgresult, Thepgconn의 현재 배트맨 토토 처리 포인터입니다
에 복사pgresult가능합니다
와 같은 함수별로 사용pqgetValue
.