Postgresql 9.3.25 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 31.libpq- C Thư viện | Tiếp theo |
cách đọc kèo bóng đá cách đọc kèo bóng đá và cảnh báo 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 cho một xử lý cách đọc kèo bóng đá chức năng và thực thi tiếp tục bình thường sau khi xử lý trả lại. Hàm xử lý cách đọc kèo bóng đá mặc định in cách đọc 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ý cách đọc kèo bóng đá, được gọi là bộ thu cách đọc kèo bóng đá và bộ xử lý cách đọc kèo bóng đá. Mặc định hành vi dành cho người nhận cách đọc kèo bóng đá để định dạng cách đọc kèo bóng đá và truyền Chuỗi đến bộ xử lý cách đọc kèo bóng đá để in. Tuy nhiên, một Ứng dụng chọn cung cấp máy thu cách đọc kèo bóng đá của riêng mình thường bỏ qua lớp bộ xử lý cách đọc kèo bóng đá và chỉ thực hiện tất cả các làm việc trong máy thu cách đọc kèo bóng đá.
hàmpqsetnoticereceiver
Đặt hoặc kiểm tra máy thu cách đọc kèo bóng đá hiện tại cho kết nối
sự vật. Tương tự,PQSetNoticeProcessor
Đặt hoặc kiểm tra hiện tại
Bộ xử lý cách đọc kèo bóng đá.
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 cách đọc kèo bóng đá trước đó hoặc Bộ xử lý con trỏ chức năng và đặt giá trị mới. Nếu bạn cung cấp một con trỏ chức năng 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 cách đọc kèo bóng đá hoặc cách đọc kèo bóng đá cảnh báo từ máy chủ hoặc
được tạo bên trong bởilibpq, The
Hàm nhận cách đọc kèo bóng đá được gọi. Nó được truyền tin nhắn trong
Mẫu của APGRES_NONFATAL_ERROR pgresult. (Điều này cách đọc kèo bóng đá phép người nhận trích xuất
Các trường cá nhân sử dụngpqresulterrorfield
hoặc hoàn chỉnh
tin nhắn sử dụngpqresulterrormessage
.)
Con trỏ khoảng trống tương tự được truyền đếnpqsetnoticereceiver
cũng được cách đọc 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 cách đọc kèo bóng đá mặc định chỉ cần trích xuất cách đọc kèo bóng đá (sử dụngpqresulterrormessage
12961_13003
Bộ xử lý cách đọc kèo bóng đá chịu trách nhiệm xử lý cách đọc kèo bóng đá hoặc
cách đọc kèo bóng đá cảnh báo được đưa ra dưới dạng văn bản. Nó được thông qua văn bản chuỗi của
thông điệp (bao gồm cả một dòng mới), cộng với một con trỏ trống
đó là cùng một cái được chuyển choPQSetNoticeProcessor
. (Con trỏ này có thể được sử dụng
Để truy cập trạng thái dành riêng cách đọc kèo bóng đá ứng dụng nếu cần.)
13368_13409
void tĩnh DefaultNoticeProcessor (void *arg, const char *message) fprintf (stderr, "%s", tin nhắn);
Một khi bạn đã đặt bộ thu hoặc bộ xử lý cách đọc kèo bóng đá, bạn nên
mong đợi rằng chức năng đó có thể được gọi là 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, ThePGConnCon trỏ xử lý cách đọc kèo bóng đá hiện tại là
được sao chép vàoPGRESULTcách đọc kèo bóng đá có thể
sử dụng bởi các chức năng nhưPQGetValue
.