PQCanCelCreate
#Chuẩn bị kết nối mà có thể gửi yêu cầu kèo bóng đá hom nay.
PGCANCELCONN *
PQCanCelCreate
Tạo APGCANCELCONN
Đối tượng, nhưng nó sẽ không bắt đầu gửi yêu cầu kèo bóng đá hom nay qua kết nối này. Yêu cầu kèo bóng đá hom nay có thể được gửi qua kết nối này theo cách chặn bằng cách sử dụngPQCANCELBLOCK
và theo cách không chặn bằng cách sử dụngPQCANCELSTART
. Giá trị trả về có thể được chuyển choPQCANCELSTATUS
Để kiểm tra xemPGCANCELCONN
Đối tượng đã được tạo thành công. ThePGCANCELCONN
Đối tượng là cấu trúc mờ không có nghĩa là được truy cập trực tiếp bởi ứng dụng. Cái nàyPGCANCELCONN
Đối tượng có thể được sử dụng để kèo bóng đá hom nay chạy trên kết nối ban đầu theo cách an toàn luồng.
Nhiều tham số kết nối của máy khách gốc sẽ được sử dụng lại khi thiết lập kết nối cho yêu cầu kèo bóng đá hom nay. Điều quan trọng, nếu kết nối ban đầu yêu cầu mã hóa kết nối và/hoặc xác minh máy chủ đích (sử dụngSSLMode
hoặcGSSENCMode
), sau đó kết nối cho yêu cầu kèo bóng đá hom nay được thực hiện với các yêu cầu tương tự. Bất kỳ tùy chọn kết nối nào chỉ được sử dụng trong quá trình xác thực hoặc sau khi xác thực của máy khách đều bị bỏ qua, vì các yêu cầu kèo bóng đá hom nay không yêu cầu xác thực và kết nối được đóng ngay sau khi yêu cầu kèo bóng đá hom nay được gửi.
Lưu ý rằng khiPQCANCELCREATE
Trả về một con trỏ không null, bạn phải gọipqcancelfinish
Khi bạn kết thúc với nó, để xử lý cấu trúc và bất kỳ khối bộ nhớ liên quan nào. Điều này phải được thực hiện ngay cả khi yêu cầu kèo bóng đá hom nay bỏ không thành công hoặc bị bỏ rơi.
PQCANCELBLOCK
#Yêu cầu máy chủ từ bỏ việc xử lý lệnh hiện tại theo cách chặn.
14634_14685
Yêu cầu được thực hiện trên đã choPGCANCELCONN
, cần được tạo bằngPQCanCelCreate
. Giá trị trả về củaPQCANCELBLOCK
là 1 nếu yêu cầu kèo bóng đá hom nay được gửi thành công và 0 nếu không. Nếu nó không thành công, thông báo lỗi có thể được truy xuất bằng cách sử dụngpqcancelerrormessage
.
Công văn thành công của việc kèo bóng đá hom nay bỏ không đảm bảo rằng yêu cầu sẽ có bất kỳ ảnh hưởng nào. Nếu việc kèo bóng đá hom nay bỏ có hiệu lực, lệnh bị kèo bóng đá hom nay sẽ chấm dứt sớm và trả về kết quả lỗi.
PQCANCELSTART
PQCANCELPOLL
#yêu cầu máy chủ từ bỏ việc xử lý lệnh hiện tại theo cách không chặn.
16265_16380
Yêu cầu được thực hiện trên đã choPGCANCELCONN
, cần được tạo bằngPQCanCelCreate
. Giá trị trả về củaPQCANCELSTART
là 1 nếu yêu cầu kèo bóng đá hom nay có thể được bắt đầu và 0 nếu không. Nếu nó không thành công, thông báo lỗi có thể được truy xuất bằng cách sử dụngPQCanCelErrorMessage
.
nếuPQCANCELSTART
Thành công, giai đoạn tiếp theo là thăm dò ý kiếnlibpqđể nó có thể tiến hành trình tự kết nối kèo bóng đá hom nay. Sử dụngPQCancelSocket
Để có được bộ mô tả của ổ cắm bên dưới kết nối cơ sở dữ liệu. (THẬN TRỌNG: Không cho rằng ổ cắm vẫn giống nhauPQCANCELPOLL
cuộc gọi.) Vòng lặp như vậy: nếuTrả về lần cuối
pgres_polling_reading
, đợi cho đến khi ổ cắm sẵn sàng để đọc (như được chỉ ra bởiselect ()
, poll ()
hoặc hàm hệ thống tương tự). Sau đó gọiMột lần nữa. Ngược lại, nếu
Trả về lần cuối
PGRES_POLLING_WRITY
, đợi cho đến khi ổ cắm sẵn sàng để viết, sau đó gọiMột lần nữa. Trên lần lặp đầu tiên, tức là, nếu bạn chưa gọi
, Hành xử như thể nó đã trả về lần cuối
PGRES_POLLING_WRITY
. Tiếp tục vòng lặp này cho đến khireturn
PGRES_POLLING_FAILED
, Cho biết quy trình kết nối đã thất bại hoặcPGRES_POLLING_OK
, cho biết yêu cầu kèo bóng đá hom nay đã được gửi thành công.
Công văn thành công của việc kèo bóng đá hom nay bỏ không đảm bảo rằng yêu cầu sẽ có bất kỳ ảnh hưởng nào. Nếu việc kèo bóng đá hom nay bỏ có hiệu lực, lệnh bị kèo bóng đá hom nay sẽ chấm dứt sớm và trả về kết quả lỗi.
Bất cứ lúc nào trong quá trình kết nối, trạng thái của kết nối có thể được kiểm tra bằng cách gọiPQCANCELSTATUS
. Nếu cuộc gọi này trả vềConnection_Bad
, sau đó thủ tục kèo bóng đá hom nay bỏ đã thất bại; Nếu cuộc gọi trả vềConnection_ok
, sau đó kèo bóng đá hom nay yêu cầu đã được gửi thành công. Cả hai trạng thái này đều có thể phát hiện như nhau từ giá trị trả về củaPQCANCELPOLL
, được mô tả ở trên. Các trạng thái khác cũng có thể xảy ra trong (và chỉ trong) một thủ tục kết nối không đồng bộ.
Connection_allocated
#Đang chờ cuộc gọi đếnPQCANCELSTART
hoặcPQCANCELBLOCK
, để thực sự mở ổ cắm. Đây là trạng thái kết nối ngay sau khi gọiPQCanCelCreate
hoặcPQCANCELRESET
. Không có kết nối nào với máy chủ đã được bắt đầu vào thời điểm này.PQCANCELSTART
hoặcPQCANCELBLOCK
.
Connection_started
#chờ kết nối được thực hiện.
Connection_Made
#Kết nối OK; chờ gửi.
Connection_Awaiting_Response
#Đang chờ phản hồi từ máy chủ.
Connection_SSL_Startup
#Đàm phán mã hóa SSL.
Connection_GSS_startup
#Đàm phán mã hóa GSS.
Lưu ý rằng, mặc dù các hằng số này sẽ vẫn (để duy trì khả năng tương thích), một ứng dụng không bao giờ nên dựa vào chúng xảy ra theo một thứ tự cụ thể, hoặc hoàn toàn, hoặc theo trạng thái luôn luôn là một trong những giá trị được ghi nhận này. Một ứng dụng có thể làm điều gì đó như thế này:
Switch (pqcancelstatus (Conn))
TheConnect_Timeout
Tham số kết nối bị bỏ qua khi sử dụngPQCANCELPOLL
; Trách nhiệm của ứng dụng là quyết định xem một lượng thời gian quá mức đã trôi qua.PQCANCELSTART
theo sau làPQCANCELPOLL
Vòng lặp tương đương vớiPQCANCELBLOCK
.
PQCANCELSTATUS
#Trả về trạng thái của kết nối kèo bóng đá hom nay.
24060_24126
Trạng thái có thể là một trong một số giá trị. Tuy nhiên, chỉ có ba trong số này được nhìn thấy bên ngoài một thủ tục kèo bóng đá hom nay bỏ không đồng bộ:Connection_allocated
, Connection_ok
vàConnection_Bad
. Trạng thái ban đầu của APGCANCELCONN
được tạo thành công bằng cách sử dụngPQCANCELCREATE
làConnection_allocated
. Một yêu cầu kèo bóng đá hom nay bỏ thành công được gửi đi có trạng tháiConnection_ok
. Một nỗ lực kèo bóng đá hom nay bỏ không thành công được báo hiệu bởi trạng tháiConnection_Bad
. Trạng thái OK sẽ vẫn như vậy cho đến khipqcancelfinish
hoặcPQCANCELRESET
được gọi.
Xem mục choPQCANCELSTART
Liên quan đến các mã trạng thái khác có thể được trả về.
Công văn thành công của việc kèo bóng đá hom nay bỏ không đảm bảo rằng yêu cầu sẽ có bất kỳ ảnh hưởng nào. Nếu việc kèo bóng đá hom nay bỏ có hiệu lực, lệnh bị kèo bóng đá hom nay sẽ chấm dứt sớm và trả về kết quả lỗi.
PQCancelSocket
#Lấy số lượng mô tả tệp của ổ cắm kết nối kèo bóng đá hom nay vào máy chủ.
26125_26180
Một mô tả hợp lệ sẽ lớn hơn hoặc bằng 0; Kết quả của -1 chỉ ra rằng không có kết nối máy chủ hiện đang mở.PGCANCELCONN
(ngoại trừPQCanCelErrorMessage
vàPQCancelSocket
chính nó).
PQCanCelErrorMessage
#Trả về thông báo lỗi được tạo gần đây nhất bởi một thao tác trên kết nối kèo bóng đá hom nay.
27167_27230
Gần như tất cảlibpqCác chức năng lấy APGCANCELCONN
Sẽ đặt tin nhắn choPQCancelErrorMessage
Nếu họ thất bại. Lưu ý rằng bằnglibpqquy ước, một người không trốngpqcancelerrormessage
Kết quả có thể bao gồm nhiều dòng và sẽ bao gồm một dòng mới. Người gọi không nên giải phóng kết quả trực tiếp.PGCANCELCONN
Xử lý được chuyển chopqcancelfinish
. Chuỗi kết quả không nên được dự kiến sẽ giữ nguyên trong các hoạt động trênPGCANCELCONN
Cấu trúc.
pqcancelfinish
#Đóng kết nối kèo bóng đá hom nay (nếu nó chưa hoàn tất gửi yêu cầu kèo bóng đá hom nay bỏ). Cũng giải phóng bộ nhớ được sử dụng bởiPGCANCELCONN
Đối tượng.
28694_28744
Lưu ý rằng ngay cả khi nỗ lực kèo bóng đá hom nay bỏ không thành công (như được chỉ ra bởiPQCANCELSTATUS
), Ứng dụng nên gọipqcancelfinish
Để giải phóng bộ nhớ được sử dụng bởiPGCANCELCONN
Đối tượng. ThePGCANCELCONN
Con trỏ không được sử dụng lại saupqcancelfinish
đã được gọi.
pqcancelreset
#đặt lạiPGCANCELCONN
Vì vậy, nó có thể được sử dụng lại cho kết nối kèo bóng đá hom nay mới.
29799_29848
NếuPGCANCELCONN
Hiện đang được sử dụng để gửi yêu cầu kèo bóng đá hom nay, sau đó kết nối này được đóng lại. Sau đó nó sẽ chuẩn bịPGCANCELCONN
Đối tượng sao cho nó có thể được sử dụng để gửi yêu cầu kèo bóng đá hom nay mới.
Điều này có thể được sử dụng để tạo mộtPGCANCELCONN
cho APGConn
và tái sử dụng nó nhiều lần trong suốt vòng đời của bản gốcPGConn
.
Các chức năng này đại diện cho các phương thức gửi các yêu cầu kèo bóng đá hom nay bỏ cũ hơn. Mặc dù chúng vẫn hoạt động, nhưng chúng không được dùng để không gửi các yêu cầu kèo bóng đá hom nay theo cách được mã hóa, ngay cả khi kết nối ban đầu được chỉ địnhSSLMode
hoặcGSSENCMode
Để yêu cầu mã hóa. Do đó, các phương thức cũ này không được khuyến khích nhiều khi được sử dụng trong mã mới và thay vào đó nên thay đổi mã hiện có để sử dụng các chức năng mới.
PQGetCancel
#Tạo cấu trúc dữ liệu chứa thông tin cần thiết để kèo bóng đá hom nay lệnh bằng cách sử dụngPQCANCEL
.
PQGetCancel
Tạo APGCANCEL
Đối tượng đã cho APGConn
Đối tượng kết nối. Nó sẽ trở lạinull
Nếu đã choConn
lànull
hoặc kết nối không hợp lệ. ThePGCANCEL
Đối tượng là cấu trúc mờ không có nghĩa là được truy cập trực tiếp bởi ứng dụng; nó chỉ có thể được truyền choPQCANCEL
hoặcPQFreeCANCEL
.
PQFreeCANCEL
#giải phóng cấu trúc dữ liệu được tạo bởiPQGetCancel
.
VOID PQFREECANCEL (PGCANT
PQFreeCANCEL
Giải phóng một đối tượng dữ liệu được tạo trước đó bởiPQGetCancel
.
PQCANCEL
#PQCANCEL
là biến thể không phản đối và không an toàn củaPQCANCELBLOCK
, nhưng một thứ có thể được sử dụng một cách an toàn từ trong bộ xử lý tín hiệu.
34067_34132
PQCANCEL
Chỉ tồn tại vì lý do tương thích ngược.PQCANCELBLOCK
nên được sử dụng thay thế. Lợi ích duy nhấtPQCANCEL
Có là nó có thể được gọi an toàn từ trình xử lý tín hiệu, nếuerrbuf
là một biến cục bộ trong trình xử lý tín hiệu. Tuy nhiên, điều này thường không được coi là một lợi ích đủ lớn để có giá trị các kèo bóng đá hom nay đề bảo mật mà chức năng này có.
ThePGCANCEL
Đối tượng chỉ đọc xa nhưPQCANCEL
35031_35135PGConn
Đối tượng.
Giá trị trả về củaPQCANCEL
là 1 nếu yêu cầu kèo bóng đá hom nay được gửi thành công và 0 nếu không. Nếu không,errbuf
được điền vào thông báo lỗi giải thích.errbuf
Phải là một mảng char có kích thướcerrbufSize
(Kích thước được đề xuất là 256 byte).
PQRequestCancel
#PQRequestCancel
là biến thể không phản đối và không an toàn củaPQCANCELBLOCK
.
36336_36374
PQRequestCancel
Chỉ tồn tại vì lý do tương thích ngược.PQCANCELBLOCK
nên được sử dụng thay thế. Không có lợi cho việc sử dụngPQRequestCancel
OverPQCANCELBLOCK
.
Yêu cầu máy chủ từ bỏ xử lý lệnh hiện tại. Nó hoạt động trực tiếp trênPGConn
Đối tượng và trong trường hợp lỗi lưu trữ thông báo lỗi trongPGConn
Đối tượng (từ đó có thể được truy xuất bởipqerrormessage
). Mặc dù chức năng là như nhau, nhưng phương pháp này không an toàn trong các chương trình nhiều luồng hoặc trình xử lý tín hiệu, vì có thể ghi đè lênPGConn
Thông báo lỗi của bạn sẽ làm rối tung hoạt động hiện đang được kèo bóng đá hom nay trên kết nối.