Thông tỷ lệ kèo bóng đá và cảnh tỷ lệ kèo bóng đá thông tỷ lệ kèo bóng đá do máy chủ tạo ra không được trả về bởi các chức năng thực thi truy vấn, vì chúng không ngụ ý lỗi của truy vấn. Thay vào đó, chúng được chuyển đến một chức năng xử lý thông tỷ lệ kèo bóng đá và việc thực thi tiếp tục bình thường sau khi trình xử lý trở lại. Hàm xử lý thông tỷ lệ kèo bóng đá mặc định in thông tỷ lệ kèo bóng đá trênstderr
, nhưng ứng dụng có thể ghi đè hành vi này bằng cách cung cấp chức năng xử lý của chính nó.
Vì lý do lịch sử, có hai cấp độ xử lý thông tỷ lệ kèo bóng đá, được gọi là bộ thu thông tỷ lệ kèo bóng đá và bộ xử lý thông tỷ lệ kèo bóng đá. Hành vi mặc định là để người nhận thông tỷ lệ kèo bóng đá định dạng thông tỷ lệ kèo bóng đá và chuyển một chuỗi cho bộ xử lý thông tỷ lệ kèo bóng đá để in. Tuy nhiên, một ứng dụng chọn cung cấp máy thu thông tỷ lệ kèo bóng đá của riêng mình thường sẽ bỏ qua lớp bộ xử lý thông tỷ lệ kèo bóng đá và chỉ thực hiện tất cả các công việc trong máy thu thông tỷ lệ kèo bóng đá.
hàmpqsetnoticereceiver
Đặt hoặc kiểm tra máy thu thông tỷ lệ kèo bóng đá hiện tại cho một đối tượng kết nối. Tương tự,PQSetNoticeProcessor
12286_12335
12362_12760
Mỗi chức năng này trả về Trình nhận thông tỷ lệ kèo bóng đá hoặc bộ xử lý trước đó và đặt giá trị mới. Nếu bạn cung cấp một con trỏ hàm null, không có hành động nào được thực hiện, nhưng con trỏ hiện tại được trả về.
Khi nhận được thông tỷ lệ kèo bóng đá hoặc thông tỷ lệ kèo bóng đá cảnh tỷ lệ kèo bóng đá từ máy chủ hoặc được tạo nội bộ bởilibpq, Hàm người nhận thông tỷ lệ kèo bóng đá được gọi. Nó được truyền tin nhắn dưới dạngPGRES_NONFATAL_ERROR
pgresult
. (Điều này cho phép người nhận trích xuất các trường riêng lẻ bằng cách sử dụngpqresulterrorfield
hoặc có được thông tỷ lệ kèo bóng đá được định dạng hoàn chỉnh bằng cách sử dụngpqresulterrormessage
hoặcpqresultverboseerrormessage
.) Cùng một khoảng trống được truyền đếnpqsetnoticereceiver
cũng được tỷ lệ kèo bóng đá qua. (Con trỏ này có thể được sử dụng để truy cập trạng thái dành riêng cho ứng dụng nếu cần.)
Bộ thu thông tỷ lệ kèo bóng đá mặc định chỉ cần trích xuất thông tỷ lệ kèo bóng đá (sử dụngpqresulterrormessage
) và chuyển nó cho bộ xử lý thông tỷ lệ kèo bóng đá.
Bộ xử lý thông tỷ lệ kèo bóng đá chịu trách nhiệm xử lý thông tỷ lệ kèo bóng đá thông tỷ lệ kèo bóng đá hoặc cảnh tỷ lệ kèo bóng đá được đưa ra ở dạng văn bản. Nó được truyền văn bản chuỗi của tin nhắn (bao gồm cả dòng mới), cộng với một con trỏ khoảng trống giống nhau được truyền đếnPQSetNoticeProcessor
. (Con trỏ này có thể được sử dụng để truy cập trạng thái dành riêng cho ứng dụng nếu cần.)
Bộ xử lý thông tỷ lệ kèo bóng đá mặc định chỉ đơn giản là:
Vốc tĩnh DefaultNoticeProcessor (void *arg, const char *message) fprintf (stderr, "%s", tin nhắn);
Khi bạn đã đặt bộ thu hoặc bộ xử lý thông tỷ lệ kèo bóng đá, bạn nên mong đợi rằng chức năng đó có thể được gọi miễn làPGConn
Đối tượng hoặcPGRESULT
Các đối tượng được làm từ nó tồn tại. Tại Sáng tạo của Apgresult
, ThePGConn
Các con trỏ xử lý thông tỷ lệ kèo bóng đá hiện tại được sao chép vàoPGRESULT
Để sử dụng có thể bởi các chức năng nhưPQGetValue
.