롤 토토 : 문서 : 9.5 : 롤 토토 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.5 : 기타 스포츠 토토 스포츠 토토 결과 | PostgreSQL : 문서 : 9.5 : LIBPQ -C 토토 | 31 장.libpq-C 라이브러리 | PostgreSQL : 문서 : 9.5 : 배트맨 토토 시스템 |
서버에서 생성 된 젠 토토 및 경고 메시지는 쿼리 실패를 암시하지 않기 때문에 쿼리 실행 함수에 의해 반환되지 않습니다. 대신 젠 토토 처리 기능으로 전달되며 핸들러가 반환 한 후에는 일반적으로 실행이 계속됩니다.Stderr, 그러나 응용 프로그램은 자체 취급 기능을 제공 하여이 동작을 무시할 수 있습니다.
역사적 이유로, 젠 토토 수신자 및 젠 토토 프로세서라는 두 가지 수준의 젠 토토 처리가 있습니다. 기본 동작은 젠 토토 수신자가 젠 토토를 포맷하고 인쇄를 위해 젠 토토 프로세서에 문자열을 전달하는 것입니다.
함수PQSETNOTICERECEIVER
연결 객체에 대한 현재 통지 수신자를 설정하거나 검사합니다. 비슷하게,pqsetnoticeProcessor
현재 통지 프로세서를 설정하거나 검토합니다.
typedef void ( *pqnoticereceiver) (void *arg, const pgresult *res);
이러한 각 함수는 이전 통지 수신기 또는 프로세서 기능 포인터를 반환하고 새 값을 설정합니다. NULL 기능 포인터를 제공하면 조치가 취하지 않지만 현재 포인터는 반환됩니다.
서버에서 젠 토토 또는 경고 메시지가 수신되거나 내부적으로 생성되는 경우libpq, 통지 수신자 함수가 호출됩니다. 그것은 a의 형태로 메시지를 전달합니다.pgres_nonfatal_error pgresult. (이를 통해 수신기가 사용을 사용하여 개별 필드를 추출 할 수 있습니다pqresulterrorfield
또는 또는 완전한 미리 형식화 된 메시지를 사용하여PQRESULTERRORMESSAGE
.) 동일한 공극 포인터가 전달되었습니다PQSETNOTICERECEIVER
도 통과됩니다. (이 포인터는 필요한 경우 응용 프로그램 별 상태에 액세스하는 데 사용할 수 있습니다.)
기본 젠 토토 수신기는 단순히 메시지를 추출합니다 (사용PQRESULTERRORMESSAGE
) 그리고 그것을 젠 토토 프로세서로 전달합니다.
젠 토토 프로세서는 텍스트 양식으로 제공된 젠 토토 또는 경고 메시지를 처리 할 책임이 있습니다. 그것은 메시지의 문자열 텍스트 (후행 신성 라인 포함)와 동일한 포인터와 동일한 포인터가 전달됩니다.pqsetnoticeProcessor
. (이 포인터는 필요한 경우 응용 프로그램 별 상태에 액세스하는 데 사용할 수 있습니다.)
기본 젠 토토 프로세서는 간단합니다.
정적 무효
일단 젠 토토 수신자 또는 프로세서를 설정하면 해당 기능이만큼 오랫동안 호출 될 수 있어야합니다.pgconn개체 또는pgresult그로 만들어진 개체가 존재합니다. A의 창조시pgresult, Thepgconn의 현재 통지 처리 포인터가에 복사되었습니다.pgresult같은 기능으로 사용 가능pqgetValue
.