Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang choPostgreSQL : 문서 : 17 : 32.7. 진행중인 쿼리 스포츠 토토 베트맨Phiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

31.6. Hủy truy vấn đang được tiến hành

Một ứng dụng khách có thể yêu cầu hủy lệnh Điều đó vẫn đang được máy chủ xử lý, sử dụng các chức năng được mô tả trong phần này.

PQGetCancel

Tạo cấu trúc dữ liệu chứa thông tin cần phải hủy một lệnh được ban hành thông qua một Kết nối cơ sở dữ liệu.



        

PQGetCancelTạo APGCANCELĐối tượng đã cho APGConnĐối tượng kết nối. Nó sẽ trở lạinullNếu đã choConnnullhoặc kết nối không hợp lệ. ThePGCANCELĐối tượng là cấu trúc mờ đục điều đó không có nghĩa là được truy cập trực tiếp bởi ứng dụng; nó chỉ có thể được truyền choPQCANCELhoặcPQFreeCANCEL.

PQFreeCANCEL

Giải phóng cấu trúc dữ liệu được tạo bởiPQGetCancel.

VOID PQFREECANCEL (PGCANCEL *Hủy);

PQFreeCANCELgiải phóng một dữ liệu đối tượng được tạo trước đó bởiPQGetCancel.

PQCANCEL

yêu cầu máy chủ từ bỏ xử lý Lệnh hiện tại.

12351_12416

Giá trị trả về là 1 nếu yêu cầu hủy bỏ là Được gửi thành công và 0 nếu không. Nếu không,errbufđược lấp đầy bởi một lỗi giải thích tin nhắn.errbufphải là một char mảng kích thướcerrbufsize(The Kích thước được đề xuất là 256 byte).

Công văn thành công không đảm bảo rằng yêu cầu Sẽ có bất kỳ tác dụng, tuy nhiên. Nếu hủy bỏ là hiệu quả, lệnh hiện tại sẽ chấm dứt sớm và trả về một kết quả lỗi. Nếu hủy bỏ thất bại (giả sử, bởi vì máy chủ đã hoàn thành việc xử lý lệnh), sau đó sẽ không có kết quả hiển thị nào cả.

PQCANCELcó thể được an toàn được gọi từ một trình xử lý tín hiệu, nếuerrbuflà một biến cục bộ trong tín hiệu người xử lý. ThePGCANCELĐối tượng là chỉ đọc xa nhưPQCANCELđược quan tâm, vì vậy nó cũng có thể được gọi từ một chủ đề mà tách biệt với một thao tácPGConnĐối tượng.

PQRequestCancel

PQRequestCancellà a biến thể không dùng củaPQCANCEL.

int pqrequestCancel (pgconn *Conn);

yêu cầu máy chủ từ bỏ xử lý Lệnh hiện tại. Nó hoạt động trực tiếp trênPGConnĐối tượng và trong trường hợp thất bại lưu trữ thông báo lỗi trongPGConnĐối tượng (có thể lấy được từ đó quapqerrormessage). Mặc dù Chức năng giống nhau, cách tiếp cận này tạo ra Các mối nguy hiểm cho các chương trình đa luồng và trình xử lý tín hiệu, Vì có thể ghi đè lênPGConnThông báo lỗi của Hoạt động hiện đang được tiến hành trên kết nối.