지원 버전 :현재(17) /16 / 15 / 14 / 13
개발 버전 :18 / Devel
지원되지 않은 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0
이 문서는 지원되지 않는 버전의 kèo chấp bóng đá hôm nay을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

33.6. 진행중인 쿼리 취소

클라이언트 애플리케이션은이 섹션에 설명 된 기능을 사용하여 서버가 아직 처리중인 명령 취소를 요청할 수 있습니다.

pqgetCancel

특정 데이터베이스 연결을 통해 발행 된 명령을 취소하는 데 필요한 정보가 포함 된 데이터 구조를 만듭니다.

pgcancel *pqgetcancel (pgconn *conn);

pqgetCancela 생성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관련이 있으므로 조작하는 것과 분리 된 스레드에서도 호출 할 수 있습니다pgconnObject.

PQREQUESTCANCEL

PQREQUESTCANCEL|pqcancel.

int pqRequestCancel (pgconn *conn);

서버가 현재 명령의 처리를 포기하도록 요청합니다. 직접 작동합니다.pgconn객체 및 고장의 경우 오류 메시지가에 저장됩니다.pgconn개체 (PQERRORMESSAGE). 기능은 동일하지만이 접근법은 다중 스레드 프로그램 및 신호 처리기에 대한 위험을 야기합니다.pgconn의 오류 메시지는 현재 연결에서 진행중인 작업이 엉망이됩니다.