스포츠 토토 9.2.24 문서 | ||||
---|---|---|---|---|
이전 | up | 31 장.libpq-C 라이브러리 | PostgreSQL : 문서 : 9.2 : 빠른 경로 스포츠 토토 결과 |
클라이언트 응용 프로그램은 명령 취소를 요청할 수 있습니다 기능을 사용하여 서버에서 여전히 처리 중입니다. 이 섹션에 설명되어 있습니다.
pqgetCancel
정보가 포함 된 데이터 구조를 만듭니다 특정을 통해 발행 된 명령을 취소해야합니다 데이터베이스 연결.
pgcancel *pqgetCancel (pgconn *conn);
pqgetCancel
a 생성pgcancel주어진 객체pgconn연결 객체. 그것
돌아올null주어진 경우connisnull또는 잘못된 연결. 그만큼pgcancel객체는 불투명 한 구조입니다
그것은
애플리케이션; 전달 될 수 있습니다pqcancel
또는PQFREECANCEL
.
PQFREECANCEL
pqgetCancel
.
void pqfreecancel (pgcancel *cancel);
PQFREECANCEL
데이터를 해제합니다
이전에 객체에 의해 생성 된 개체pqgetCancel
.
pqcancel
서버가 처리를 포기하도록 요청합니다 현재 명령.
int pqcancel (pgcancel *취소, char *errbuf, int errbufsize);
취소 요청이있는 경우 반환 값은 1입니다. 성공적으로 파견되고 그렇지 않은 경우 0. 그렇지 않다면errbuf는 설명 오류로 채워져 있습니다 메시지.errbuf숯이어야합니다 크기의 배열errbufsize( 권장 크기는 256 바이트)입니다.
성공적인 파견은 요청을 보장하지 않습니다 그러나 어떤 영향을 미칩니다. 취소가있는 경우 효과적으로, 현재 명령은 조기에 종료됩니다 오류 결과를 반환하십시오. 취소가 실패하면 서버가 이미 처리를 수행했기 때문입니다 명령), 그러면 눈에 보이는 결과는 전혀 없을 것입니다.
pqcancel
안전하게 할 수 있습니다
신호 핸들러에서 호출,errbuf는 신호의 로컬 변수입니다
매니저. 그만큼pgcancel객체입니다
까지 읽기 전용pqcancel
관련이 있으므로 스레드에서 호출 할 수도 있습니다.
조작하는 것과 분리되어 있습니다pgconn개체.
PQREQUESTCANCEL
PQREQUESTCANCEL
is
의 더 이상 사용되지 않는 변형pqcancel
.
int pqRequestCancel (pgconn *conn);
서버가 처리를 포기하도록 요청합니다
현재 명령. 직접 작동합니다.pgconn객체 및 실패의 경우
에 오류 메시지를 저장합니다.pgconn객체 (그것을 검색 할 수 있습니다
에 의해PQERRORMESSAGE
). 하지만
기능은 동일 하며이 접근법이 생성됩니다
다중 스레드 프로그램 및 신호 처리기의 위험,
를 덮어 쓸 수 있기 때문에pgconn의 오류 메시지가 엉망이됩니다
현재 연결 진행 중입니다.