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

tỷ lệ kèo bóng đá31.4.

ThePQEXECHàm là đủ

  • PQEXECChờ tỷ lệ kèo bóng đá

  • Vì việc thực hiện ứng dụng máy khách bị đình chỉ

  • PQEXECchỉ có thể trả về mộtpgresultCấu trúc. NếuSQLCác tỷ lệ kèo bóng đá, tất cả trừ cuối cùngPGRESULTbị loại bỏ bởiPQEXEC.

Các ứng dụng tỷ lệ kèo bóng đá thích những hạn chế này có thểPQEXECđược xây dựng từ:PQSendQueryPQGetResult. Cũng cóPQSendQueryParams,PQSendPrepare,PQSendQueryPrepared,, có thể được sử dụng vớiPQGetResultđể nhân đôiPQExecParams,PQPrepare,PQEXECPREPARED,PQDescriptePortal

PQSendQuery

gửi lệnh lên máy chủ mà tỷ lệ kèo bóng đá cần chờpqerrormessageĐể biết thêm thông tin

13449_13504

Sau khi gọi thành côngPQSendQuery, gọiPQGetResultMột hoặc nhiều lần để có đượcPQSendQuerytỷ lệ kèo bóng đá thể được gọi lại (trên cùng một kết nối) cho đến khiPQGetResultđã trả lại a

PQSendQueryParams

gửi một tỷ lệ kèo bóng đá và các tham số riêng biệt cho máy chủ

int pqsendqueryparams (pgconn *Conn,

Điều này tương đương vớiPQSendQueryNgoại trừ các tham số truy vấnPQExecparams. GiốngPQExecParams, nó sẽ tỷ lệ kèo bóng đá

PQSendPrepare

Gửi yêu cầu tạo câu tỷ lệ kèo bóng đá đã chuẩn bị với

int pqsendprepare (pgconn *Conn,

Đây là phiên bản tỷ lệ kèo bóng đá bộ củaPQPrepare: nó trả về 1 nếu nó có thểPQGetResultđếnPQPrepare.PQPrepare, nó sẽ tỷ lệ kèo bóng đá

PQSendQueryPrepared

Gửi yêu cầu thực hiện một câu tỷ lệ kèo bóng đá đã chuẩn bị với

int pqsendqueryprepared (PGConn *Conn,

Điều này tương tự nhưPQSendQueryParams, nhưng tỷ lệ kèo bóng đá sẽ đượcPQEXECPREPARED. GiốngPQEXECPREPARED, nó sẽ tỷ lệ kèo bóng đá hoạt động

gửi yêu cầu lấy thông tin về

17611_17678

Đây là phiên bản tỷ lệ kèo bóng đá bộ của: nó trả về 1 nếu nóPQGetResultĐể có được kết quả. Các. Giống, Nó sẽ

gửi yêu cầu lấy thông tin về

18547_18614

Đây là phiên bản tỷ lệ kèo bóng đá bộ củaPQDescriptePortal: nó trả về 1 nếu nó làPQGetResultĐể có được kết quả. CácPQDescriptePortal. GiốngPQDescriptePortal, nó sẽ tỷ lệ kèo bóng đá

PQGetResult

Chờ kết quả tiếp theo từ trướcPQSendQuery,PQSendQueryParams,PQSendPreparehoặcPQSendQueryPreparedGọi và trả lại nó.



        

PQGetResultphải được gọiPQGetResultSẽ chỉ trở lạiPQGetResultnên đượcpgresultHàm Accessor trước đâyPQClearKhi được thực hiện với nó.PQGetResultWillPQConsumeInput.

Sử dụngPQSendQueryPQGetResultgiải quyết một trongPQEXECS vấn đề: Nếu một tỷ lệ kèo bóng đáSQLCác tỷ lệ kèo bóng đá, kết quả của các tỷ lệ kèo bóng đá đó có thể được lấyPQGetResultvẫn sẽ khiến máy khách đếnSQLtỷ lệ kèo bóng đá. Điều này có thể tránh được bằng cách thích hợp

PQConsumeInput

Nếu đầu vào có sẵn từ máy chủ, hãy tiêu thụ nó.

int pqconsumeinput (pgconn *Conn);

PQConsumeInputThông thường"tỷ lệ kèo bóng đá có lỗi",,pqerrormessagecó thểPQConsumeInput, Thepqisbusyvà/hoặcpqnotifyĐể xem nhà nước của họ có

PQConsumeInputcó thểselect ()Read-ReadPQConsumeInputĐể xóaselect ()Điều kiện

pqisbusy

Trả về 1 nếu tỷ lệ kèo bóng đá bận, nghĩa làPQGetResultSẽ chặn chờ đợiPQGetResultcó thể được gọi với sự đảm bảo

int pqisbusy (pgconn *Conn);

pqisbusysẽ tỷ lệ kèo bóng đá chính nóPQConsumeInputPhải

Một ứng dụng điển hình sử dụng các chức năng này sẽ có một chínhselect ()hoặcpoll ()Để chờ tất cảselect ()có nghĩa là dữ liệu có thể đọc được trên tệpPQSocket.PQConsumeInputĐể đọc đầu vào.pqisbusy, theo sauPQGetResultnếupqisbusyTrả về false (0). Nó cũng có thể gọipqnotifyesđể phát hiệnThông báoTin nhắn (xemPhần 31.7).

Một máy khách sử dụngPQSendQuery/PQGetResultcũng có thể cố gắng hủy mộtPhần 31.5. Nhưng bất kểPQCANCEL, ThePQGetResult. Một thành công

Bằng cách sử dụng các chức năng được mô tả ở trên, có thểSao chép trongTuy nhiên.) Để ngăn chặn điều này

pqsetNonblocking

Đặt trạng thái tỷ lệ kèo bóng đá chặn của kết nối.

int pqsetNonblocking (pgconn *Conn, int arg);

Đặt trạng thái của kết nối thành tỷ lệ kèo bóng đá chặn nếuarglà 1 hoặc chặn nếuarglà 0. Trả về 0 nếu ok, -1 nếu

Ở trạng thái tỷ lệ kèo bóng đá chặn, các cuộc gọi đếnPQSendQuery,pqputline,pqputnbytesPQENDCOPYsẽ tỷ lệ kèo bóng đá chặn mà thay vào đó

Lưu ý rằngPQEXECtỷ lệ kèo bóng đá

pqisnonblocking

Trả về trạng thái chặn của cơ sở dữ liệu

int pqisnonblocking (const pgconn *Conn);

Trả về 1 nếu kết nối được đặt thành chế độ tỷ lệ kèo bóng đá chặn

pqflush

cố gắng xóa bất kỳ dữ liệu đầu ra được xếp hàng nào vào máy chủ.

int pqflush (pgconn *Conn);

Sau khi gửi bất kỳ lệnh hoặc dữ liệu nào trên kết nối tỷ lệ kèo bóng đá chặn,PQFLUSH. Nếu nó trở lại 1, hãy đợiPQFLUSHMột lần nữa. Nếu nhưPQConsumeInput, sau đó gọipqflushMột lần nữa. Lặp lại cho đến khipqflushTrả về 0. (Cần kiểm traPQConsumeInput, vì máy chủ có thể chặnPQFLUSHTrả về 0, đợi ổ cắm được