Phiên kèo bóng đá c1 được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên kèo bóng đá c1 phát triển:18 / Devel
Phiên kèo bóng đá c1 không được hỗ trợ: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 / 7.4
Tài liệu này dành cho phiên kèo bóng đá c1 không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên kèo bóng đá c1 hoặc một trong các phiên kèo bóng đá c1 được hỗ trợ khác được liệt kê ở trên thay thế.

31.12. Xử lý thông kèo bóng đá c1

Thông kèo bóng đá c1 và cảnh kèo bóng đá c1 các thông kèo bóng đá c1 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ụ ý thất bạ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 kèo bóng đá c1 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 kèo bóng đá c1 mặc định in thông kèo bóng đá c1 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ó.

10851_11261

hàmpqsetnoticereceiver11329_11413PQSetNoticeProcessorĐặt hoặc kiểm tra bộ xử lý thông kèo bóng đá c1 hiện tại.

typedef void ( *pqnoticereceiver) (void *arg, const pgresult *res);

Pqnoticereceiver
Pqsetnoticereceiver (PGConn *Conn,
                    Pqnoticereceiver Proc,
                    void *arg);

typedef void ( *pqnoticeProcessor) (void *arg, const char *message);

PQnoticeProcessor
PQSetNoticeProcessor (PGConn *Conn,
                     PQnoticeProcessor Proc,
                     void *arg);

Mỗi chức năng này trả về đầu thu thông kèo bóng đá c1 hoặc con trỏ hàm 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 kèo bóng đá c1 hoặc thông kèo bóng đá c1 cảnh kèo bóng đá c1 từ máy chủ hoặc được tạo nội bộ bởilibpq, Hàm người nhận thông kèo bóng đá c1 đượ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ụngpqresulterrorfieldhoặc thông kèo bóng đá c1 được định dạng hoàn chỉnh bằng cách sử dụngpqresulterrormessage.) Cùng một khoảng trống được truyền đếnpqsetnoticereceiver12740_12833

Bộ thu thông kèo bóng đá c1 mặc định chỉ cần trích xuất thông kèo bóng đá c1 (sử dụngpqresulterrormessage) và chuyển nó cho bộ xử lý thông kèo bóng đá c1.

Bộ xử lý thông kèo bóng đá c1 chịu trách nhiệm xử lý thông kèo bóng đá c1 thông kèo bóng đá c1 hoặc cảnh kèo bóng đá c1 đượ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 kèo bóng đá c1 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 kèo bóng đá c1, 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ặcPGRESULTCác đối tượng được làm từ nó tồn tại. Tại Sáng tạo của Apgresult, ThePGConnCác con trỏ xử lý thông kèo bóng đá c1 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.