Postgresql 9.0.23 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 31.libpq- C Thư viện | Tiếp theo |
PostgreSQLƯu đãi cách đọc kèo bóng đá bộ quaNghevàcách đọc kèo bóng đálệnh. Một phiên khách đăng ký sự quan tâm của nó đối với một kênh cách đọc kèo bóng đá cụ thể với Thenghelệnh (và có thể dừng lắng nghe vớiUnlistenlệnh). Tất cả các phiên nghe trên một kênh cụ thể sẽ được cách đọc kèo bóng đá không đồng bộ khi acách đọc kèo bóng đáLệnh với tên kênh đó được thực hiện bởi bất kỳ phiên nào. MỘT"tải trọng"Chuỗi có thể được truyền để giao tiếp dữ liệu bổ sung cho người nghe.
libpqỨng dụng gửiNghe, Unlistenvàcách đọc kèo bóng đáCác lệnh như các lệnh SQL cách đọc kèo bóng đá thường. Sự xuất hiện của11928_11936Tin nhắn sau đó có thể được phát hiện bởi
Gọipqnotifyes
.
hàmpqnotifyes
Trả về
cách đọc kèo bóng đá tiếp theo từ danh sách cách đọc kèo bóng đá chưa được xử lý
Tin nhắn nhận được từ máy chủ. Nó trả về một con trỏ null nếu
Không có cách đọc kèo bóng đá đang chờ xử lý. Khi một cách đọc kèo bóng đá là
đã trở về từpqnotifyes
, đó là
được coi là xử lý và sẽ bị xóa khỏi danh sách
cách đọc kèo bóng đá.
12461_12746
Sau khi xử lý ApgnotifyĐối tượng
Được trả về bởipqnotifyes
, Hãy chắc chắn để
Miễn phí nó vớipqfreemem
. Nó là
đủ để giải phóngpgnotifyCon trỏ; TherelnamevàExtraTrường cách đọc kèo bóng đá đại diện cho riêng biệt
phân bổ. (Tên của các lĩnh vực này là lịch sử; trong
đặc biệt, tên kênh cách đọc kèo bóng đá cần phải làm gì với
Tên quan hệ.)
Ví dụ 31-2Đưa ra một chương trình mẫu minh họa cho việc sử dụng không đồng bộ cách đọc kèo bóng đá.
pqnotifyes
cách đọc kèo bóng đá thực sự
Đọc dữ liệu từ máy chủ; nó chỉ trả về tin nhắn trước đó
được hấp thụ bởi người kháclibpqHàm. Trong các bản phát hành trước củalibpq, cách đọc kèo bóng đá duy nhất để đảm bảo biên lai kịp thời
củacách đọc kèo bóng đáTin nhắn liên tục
Gửi các lệnh, thậm chí các lệnh trống, sau đó kiểm trapqnotifyes
sau mỗiPQEXEC
. Trong khi điều này vẫn hoạt động, nó là
cách đọc kèo bóng đá được lãng phí sức mạnh xử lý.
cách đọc kèo bóng đá tốt hơn để kiểm tracách đọc kèo bóng đáTin nhắn Khi bạn cách đọc kèo bóng đá có lệnh hữu ích để thực thi là gọiPQConsumeInput
, sau đó kiểm trapqnotify
. Bạn có thể sử dụngselect ()
Để chờ dữ liệu đến
từ máy chủ, do đó cách đọc kèo bóng đá sử dụngCPUsức mạnh trừ khi có việc gì đó.
(Nhìn thấyPQSocket
Để lấy tệp
Số mô tả để sử dụng vớiselect ()
.) Lưu ý rằng điều này sẽ hoạt động tốt cho dù
Bạn gửi các lệnh vớiPQSendQuery
/PQGetResult
hoặc đơn giản là sử dụngPQEXEC
. Tuy nhiên, bạn nên nhớ kiểm trapqnotifyes
sau mỗiPQGetResult
hoặcPQEXEC
, để xem có bất kỳ cách đọc kèo bóng đá nào được đưa vào
Trong quá trình xử lý lệnh.