Sau khi kết nối với máy chủ cơ sở dữ liệu đã được thiết lập thành công, các chức năng được mô tả ở đây được sử dụng để thực hiện các truy vấn và kèo bóng đá hom nay SQL.
PQEXEC
#gửi kèo bóng đá hom nay lên máy chủ và chờ kết quả.
PGRESULT *PQEXEC (PGCONN *Conn, Const Char *Command);
Trả về APGRESULT
Con trỏ hoặc có thể là một con trỏ null. Một con trỏ không null thường sẽ được trả về ngoại trừ trong các điều kiện ngoài bộ nhớ hoặc các lỗi nghiêm trọng như không có khả năng gửi kèo bóng đá hom nay đến máy chủ.PQResultstatus
Hàm nên được gọi để kiểm tra giá trị trả về cho bất kỳ lỗi nào (bao gồm giá trị của con trỏ null, trong trường hợp đó nó sẽ trả vềPGRES_FATAL_ERROR
). Sử dụngpqerrormessage
Để biết thêm thông tin về kèo bóng đá hom nay lỗi đó.
Chuỗi kèo bóng đá hom nay có thể bao gồm nhiều kèo bóng đá hom nay SQL (được phân tách bằng dấu chấm phẩy). Nhiều truy vấn được gửi trong mộtPQEXEC
cuộc gọi được xử lý trong kèo bóng đá hom nay giao dịch, trừ khi có rõ ràngbắt đầu
/cam kết
Các kèo bóng đá hom nay được bao gồm trong chuỗi truy vấn để chia nó thành nhiều giao dịch. (Nhìn thấyPhần 53.2.2.1Để biết thêm chi tiết về cách máy chủ xử lý kèo bóng đá hom nay chuỗi đa query.) Tuy nhiênpgresult
Cấu trúc chỉ mô tả kết quả của kèo bóng đá hom nay cuối cùng được thực thi từ chuỗi. Nếu một trong các kèo bóng đá hom nay không thành công, việc xử lý chuỗi dừng lại với nó và đã trả vềPGRESULT
Mô tả tình trạng lỗi.
PQExecParams
#gửi kèo bóng đá hom nay lên máy chủ và chờ kết quả, với khả năng truyền các tham số riêng biệt với văn bản kèo bóng đá hom nay SQL.
PGRESULT *PQEXECPARAMS (PGConn *Conn,
PQExecParams
giống nhưPQEXEC
, nhưng cung cấp chức năng bổ sung: Các giá trị tham số có thể được chỉ định riêng biệt với chuỗi kèo bóng đá hom nay thích hợp và kết quả truy vấn có thể được yêu cầu ở định dạng văn bản hoặc nhị phân.
Các đối số chức kèo bóng đá hom nay là:
Conn
Đối tượng kết nối để gửi kèo bóng đá hom nay qua.
kèo bóng đá hom nay
Chuỗi kèo bóng đá hom nay SQL được thực thi. Nếu các tham số được sử dụng, chúng được gọi trong chuỗi kèo bóng đá hom nay là$ 1
,$ 2
, v.v.
nparams
Số lượng tham số được cung cấp; nó là độ dài của kèo bóng đá hom nay mảngparamtypes []
,paramValues []
,paramlengths []
vàparamformats []
. (Con trỏ mảng có thể lànull
KhiNPARAMS
bằng kèo bóng đá hom nay.)
paramtypes []
Chỉ định, bởi OID, kèo bóng đá hom nay loại dữ liệu được gán cho kèo bóng đá hom nay ký hiệu tham số. Nếu nhưparamtypes
lànull
hoặc bất kỳ phần tử cụ thể nào trong mảng bằng kèo bóng đá hom nay, máy chủ in một kiểu dữ liệu cho ký hiệu tham số giống như cách nó sẽ làm cho một chuỗi theo nghĩa đen chưa từng thấy.
paramValues []
Chỉ định các giá trị thực của các tham số. kèo bóng đá hom nay con trỏ null trong mảng này có nghĩa là tham số tương ứng là null;
paramlengths []
Chỉ định độ dài dữ liệu thực tế của kèo bóng đá hom nay tham số định dạng nhị phân. Nó bị bỏ qua cho kèo bóng đá hom nay tham số null và kèo bóng đá hom nay tham số định dạng văn bản.
paramformats []
Chỉ định xem các tham số có phải là văn bản hay kèo bóng đá hom nay (đặt số 0 trong mục mảng cho tham số tương ứng) hoặc nhị phân (đặt một trong một mục nhập mảng cho tham số tương ứng). Nếu con trỏ mảng là null thì tất cả các tham số được coi là chuỗi văn bản.
kèo bóng đá hom nay giá trị được truyền ở định dạng nhị phân đòi hỏi kiến thức về biểu diễn nội bộ được dự kiến bởi phần phụ trợ. Ví dụ, kèo bóng đá hom nay số nguyên phải được thông qua theo thứ tự byte mạng.Số
Giá trị yêu cầu kiến thức về định dạng lưu trữ máy chủ, như được triển khai trongsrc/backend/utils/adt/numeric.c :: numeric_send ()
vàsrc/backend/utils/adt/numeric.c :: numeric_recv ()
.
resultFormat
Chỉ định số 0 để có được kết quả ở định dạng văn bản hoặc một để có được kết quả ở định dạng nhị phân. (Hiện tại kèo bóng đá hom nay có điều khoản nào để có được các cột kết quả khác nhau ở các định dạng khác nhau, mặc dù điều đó là có thể trong giao thức cơ bản.)
Ưu điểm chính củaPQExecparams
OverPQEXEC
19274_19416
kèo bóng đá hom nay giống nhưPQEXEC
,PQExecparams
Cho phép nhiều nhất một kèo bóng đá hom nay SQL trong chuỗi đã cho. .
Chỉ định các loại tham số thông qua OID là tẻ nhạt, đặc biệt nếu bạn kèo bóng đá hom nay thích các giá trị OID đặc biệt cứng vào chương trình của bạn. Tuy nhiên, bạn có thể tránh làm như vậy ngay cả trong trường hợp máy chủ tự nó kèo bóng đá hom nay thể xác định loại tham số hoặc chọn một loại khác với bạn muốn.
Chọn * Từ MyTable WHERE X = $ 1 :: BIGINT;
Tham số lực lượng này$ 1
được coi làBigint
, trong khi mặc định, nó sẽ được gán cùng loại vớiX
. Buộc quyết định loại tham số, theo cách này hoặc bằng cách chỉ định loại OID số, được khuyến nghị mạnh mẽ khi gửi các giá trị tham số ở định dạng nhị phân, bởi vì định dạng nhị phân có ít dự phòng hơn định dạng văn bản và do đó ít có khả năng máy chủ sẽ phát hiện ra lỗi kèo bóng đá hom nay khớp loại cho bạn.
PQPrepare
#Đệ trình yêu cầu tạo câu kèo bóng đá hom nay đã chuẩn bị với các tham số đã cho và chờ hoàn thành.
pgresult *pqprepare (pgconn *Conn,
PQPrepare
Tạo một câu kèo bóng đá hom nay đã chuẩn bị để thực hiện sau vớiPQEXECPREPARED
. Tính năng này cho phép các kèo bóng đá hom nay được thực thi nhiều lần mà không bị phân tích cú pháp và được lên kế hoạch mỗi lần;Chuẩn bịĐể biết chi tiết.
Hàm tạo ra một câu kèo bóng đá hom nay đã chuẩn bị có tênstmtname
từTruy vấn
Chuỗi, phải chứa một kèo bóng đá hom nay SQL duy nhất.stmtname
có thể""
Để tạo một tuyên bố chưa được đặt tên, trong trường hợp đó, bất kỳ câu kèo bóng đá hom nay chưa được đặt tên nào đã có từ trước được tự động thay thế; Nếu không thì đó là một lỗi nếu tên câu kèo bóng đá hom nay đã được xác định trong phiên hiện tại.$ 1
,$ 2
, v.v.nparams
là số lượng tham số mà kèo bóng đá hom nay loại được chỉ định trước trong mảngparamtypes []
. (Con trỏ mảng có thể lànull
Khinparams
bằng kèo bóng đá hom nay.)paramtypes []
Chỉ định, bởi OID, kèo bóng đá hom nay loại dữ liệu được gán cho kèo bóng đá hom nay ký hiệu tham số. Nếu nhưparamtypes
lànull
hoặc bất kỳ phần tử cụ thể nào trong mảng bằng 0, máy chủ gán kèo bóng đá hom nay loại dữ liệu cho ký hiệu tham số theo cùng kèo bóng đá hom nay cách nó sẽ làm cho kèo bóng đá hom nay chuỗi theo nghĩa đen chưa từng thấy. Ngoài ra, truy vấn có thể sử dụng các ký hiệu tham số có số cao hơnnparams
; kèo bóng đá hom nay loại dữ liệu cũng sẽ được suy ra cho kèo bóng đá hom nay biểu tượng này.Đối với kèo bóng đá hom nay phương tiện để tìm hiểu các loại dữ liệu nào đã được suy ra.)
như vớiPQEXEC
, kết quả thường làPGRESULT
Đối tượng có nội dung biểu thị thành công hoặc thất bại phía máy chủ. Một kết quả null chỉ ra bộ nhớ ngoài hoặc không có khả năng gửi kèo bóng đá hom nay.pqerrormessage
Để biết thêm thông tin về kèo bóng đá hom nay lỗi đó.
Các câu kèo bóng đá hom nay được chuẩn bị để sử dụng vớiPQEXECPREPARED
cũng có thể được tạo bằng cách thực thi SQLChuẩn bịcâu kèo bóng đá hom nay.
PQEXECPREPARED
#Gửi yêu cầu thực hiện câu kèo bóng đá hom nay đã chuẩn bị với các tham số đã cho và chờ kết quả.
PGRESULT *PQEXECPREPARED (PGConn *Conn,
PQEXECPREPARED
giống nhưPQExecparams
, nhưng kèo bóng đá hom nay sẽ được thực thi được chỉ định bằng cách đặt tên một câu kèo bóng đá hom nay được chuẩn bị trước đó, thay vì đưa ra một chuỗi truy vấn. Tính năng này cho phép các kèo bóng đá hom nay sẽ được sử dụng nhiều lần để được phân tích cú pháp và được lên kế hoạch chỉ một lần, thay vì mỗi lần chúng được thực thi.
kèo bóng đá hom nay tham số giống hệt vớiPQExecParams
, ngoại trừ tên của câu kèo bóng đá hom nay đã chuẩn bị được đưa ra thay vì chuỗi truy vấn vàparamtypes []
Không có tham số (không cần thiết vì các loại tham số của câu kèo bóng đá hom nay đã chuẩn bị được xác định khi nó được tạo).
#Đệ trình yêu cầu lấy thông tin về câu kèo bóng đá hom nay đã chuẩn bị được chỉ định và chờ hoàn thành.
PGRESULT *
Cho phép một ứng dụng lấy thông tin về câu kèo bóng đá hom nay đã chuẩn bị trước đó.
stmtname
có thể""
hoặcnull
Để tham khảo câu kèo bóng đá hom nay không được đặt tên, nếu không nó phải là tên của một câu kèo bóng đá hom nay đã chuẩn bị hiện có. Về thành công, Apgresult
với trạng tháiPGRES_COMMAND_OK
được trả về. Các chức kèo bóng đá hom naypqnparams
vàPQParamType
có thể được áp dụng cho điều nàypgresult
Để có được thông tin về các tham số của câu kèo bóng đá hom nay đã chuẩn bị và các hàmPQNFields
,pqfname
,PQFTYPE
, v.v. Cung cấp thông tin về các cột kết quả (nếu có) của câu kèo bóng đá hom nay.
PQDescriptePortal
#Đệ trình yêu cầu lấy thông tin về cổng thông tin được chỉ định và chờ hoàn thành.
28723_28792
PQDescriptePortal
Cho phép kèo bóng đá hom nay ứng dụng lấy thông tin về cổng thông tin được tạo trước đó. (libpqkèo bóng đá hom nay cung cấp bất kỳ quyền truy cập trực tiếp nào vào cổng, nhưng bạn có thể sử dụng chức năng này để kiểm tra các thuộc tính của con trỏ được tạo bằngTuyên bố con trỏ
kèo bóng đá hom nay SQL.)
PortalName
có thể""
hoặcnull
Để tham khảo cổng thông tin kèo bóng đá hom nay tên, nếu kèo bóng đá hom nay nó phải là tên của một cổng thông tin hiện có. Về thành công, APGRESULT
với trạng tháiPGRES_COMMAND_OK
được trả về. Các chức kèo bóng đá hom nayPQNFields
,PQFNAME
,PQFTYPE
, v.v.pgresult
Để có được thông tin về kèo bóng đá hom nay cột kết quả (nếu có) của cổng thông tin.
PQClosePrepared
#Đệ trình yêu cầu đóng câu kèo bóng đá hom nay đã chuẩn bị được chỉ định và chờ hoàn thành.
PGRESULT *
PQClosePrepared
Cho phép một ứng dụng đóng một câu kèo bóng đá hom nay đã chuẩn bị trước đó. Đóng một câu kèo bóng đá hom nay phát hành tất cả các tài nguyên được liên kết của nó trên máy chủ và cho phép tên của nó được sử dụng lại.
stmtname
có thể""
hoặcnull
Để tham khảo câu kèo bóng đá hom nay không tên. Sẽ tốt nếu không có tuyên bố nào tồn tại với tên này, trong trường hợp đó, hoạt động là không có op.pgresult
với trạng tháiPGRES_COMMAND_OK
được trả về.
PQClosePortal
#Đệ trình yêu cầu đóng cổng thông tin được chỉ định và chờ hoàn thành.
pgresult *pqclosePortal (pgconn *Conn, const char *portalname);
PQClosePortal
Cho phép kèo bóng đá hom nay ứng dụng kích hoạt gần cổng thông tin được tạo trước đó. Đóng kèo bóng đá hom nay cổng thông tin phát hành tất cả các tài nguyên liên quan của nó trên máy chủ và cho phép tên của nó được sử dụng lại.libpqkèo bóng đá hom nay cung cấp bất kỳ quyền truy cập trực tiếp nào vào cổng, nhưng bạn có thể sử dụng chức năng này để đóng một con trỏ được tạo bằngTuyên bố con trỏ
kèo bóng đá hom nay SQL.)
PortalName
có thể""
hoặcnull
Để tham khảo cổng thông tin kèo bóng đá hom nay tên. Sẽ tốt nếu kèo bóng đá hom nay có cổng thông tin nào tồn tại với tên này, trong trường hợp đó, hoạt động kèo bóng đá hom nay có op.PGRESULT
với trạng tháiPGRES_COMMAND_OK
được trả về.
ThePGRESULT
Cấu trúc đóng gói kết quả được trả về bởi máy chủ.libpqLập trình viên ứng dụng nên cẩn thận để duy trìpgresult
Trừu tượng. Sử dụng các chức kèo bóng đá hom nay của người phụ kiện bên dưới để có được nội dung củaPGRESULT
. Tránh trực tiếp tham chiếu kèo bóng đá hom nay trường củapgresult
Cấu trúc vì chúng có thể thay đổi trong tương lai.
PQResultstatus
#Trả về trạng thái kết quả của kèo bóng đá hom nay.
33630_33685
PQResultstatus
Có thể trả về kèo bóng đá hom nay trong các giá trị sau:
pgres_empty_query
#Chuỗi được gửi đến máy chủ trống.
PGRES_COMMAND_OK
#Hoàn thành thành công kèo bóng đá hom nay trả về không có dữ liệu.
PGRES_TUDS_OK
#Hoàn thành thành công dữ liệu trả về kèo bóng đá hom nay (chẳng hạn như AChọn
hoặcshow
).
PGRES_COPY_OUT
#Sao chép lại (từ máy chủ)
PGRES_COPY_IN
#Sao chép (vào máy chủ) bắt đầu truyền dữ liệu.
pgres_bad_response
#Phản hồi của máy chủ kèo bóng đá hom nay được hiểu.
PGRES_NONFATAL_ERROR
#Một lỗi kèo bóng đá hom nay sinh (một thông báo hoặc cảnh báo) đã xảy ra.
PGRES_FATAL_ERROR
#Đã xảy ra lỗi nghiêm trọng.
PGRES_COPY_BOTH
#Sao chép vào/ra (đến và từ máy chủ) Truyền dữ liệu. Tính năng này hiện chỉ được sử dụng để sao chép phát trực tuyến, vì vậy trạng thái này kèo bóng đá hom nay nên xảy ra trong các ứng dụng thông thường.
pgres_single_tuple
#Thepgresult
chứa một kết quả duy nhất từ kèo bóng đá hom nay hiện tại. Trạng thái này chỉ xảy ra khi chế độ hàng đơn đã được chọn cho truy vấn (xemPhần 32.6).
PGRES_TUDS_CHUNK
#Thepgresult
chứa một số bộ kết quả từ kèo bóng đá hom nay hiện tại. Trạng thái này chỉ xảy ra khi chế độ chunked đã được chọn cho truy vấn (xemPhần 32.6). Số lượng các bộ dữ liệu sẽ kèo bóng đá hom nay vượt quá giới hạn được chuyển choPQSetchUnkedRowsMode
.
PGRES_PIPELINE_SYNC
#ThePGRESULT
đại diện cho điểm đồng bộ hóa ở chế độ đường ống, được yêu cầu bởipqpipelinesync
hoặcPQSENDPIPELINESYNC
. Trạng thái này chỉ xảy ra khi chế độ đường ống đã được chọn.
PGRES_PIPELINE_ABORTED
#Thepgresult
đại diện cho kèo bóng đá hom nay đường ống đã nhận được lỗi từ máy chủ.PQGetResult
phải được gọi nhiều lần và mỗi lần nó sẽ trả lại mã trạng thái này cho đến khi kết thúc đường ống hiện tại, tại thời điểm đó nó sẽ trả vềPGRES_PIPELINE_SYNC
và xử lý bình thường có thể tiếp tục.
Nếu trạng thái kết quả làPGRES_TUDS_OK
,pgres_single_tuple
hoặcPGRES_TUDS_CHUNK
, sau đó kèo bóng đá hom nay hàm được mô tả dưới đây có thể được sử dụng để truy xuất kèo bóng đá hom nay hàng được trả về bởi truy vấn. Lưu ý rằng AChọn
kèo bóng đá hom nay xảy ra để truy xuất các hàng không vẫn hiển thịPGRES_TUDS_OK
.PGRES_COMMAND_OK
dành cho các kèo bóng đá hom nay không bao giờ có thể trả lại hàng (Chèn
hoặcCập nhật
kèo bóng đá hom nay cóTrở về
mệnh đề, v.v.). kèo bóng đá hom nay phản hồi củapgres_empty_query
có thể chỉ ra kèo bóng đá hom nay lỗi trong phần mềm máy khách.
Kết quả của trạng tháiPGRES_NONFATAL_ERROR
sẽ kèo bóng đá hom nay bao giờ được trả về trực tiếp bởiPQEXEC
hoặc các chức kèo bóng đá hom nay thực thi truy vấn khác; Kết quả của loại này thay vào đó được chuyển cho bộ xử lý thông báo (xemPhần 32.13).
pqresstatus
#Chuyển đổi loại được liệt kê được trả về bởiPQResultstatus
thành một hằng số chuỗi mô tả mã trạng thái. Người gọi kèo bóng đá hom nay nên giải phóng kết quả.
char *pqresstatus (trạng thái execstatusType);
pqresulterrormessage
#Trả về thông báo lỗi được liên kết với kèo bóng đá hom nay hoặc một chuỗi trống nếu không có lỗi.
char *pqresulterrormessage (const pgresult *res);
Nếu có lỗi, chuỗi được trả về sẽ bao gồm một dòng mới. Người gọi kèo bóng đá hom nay nên giải phóng kết quả trực tiếp.PGRESULT
Xử lý được chuyển choPQClear
.
Ngay sau APQEXEC
hoặcPQGetResult
CALL,pqerrormessage
(trên kết nối) sẽ trả về cùng chuỗi vớipqresulterrormessage
(về kết quả). Tuy nhiên, APGRESULT
sẽ giữ lại thông báo lỗi cho đến khi bị phá hủy, trong khi thông báo lỗi của kết nối sẽ thay đổi khi kèo bóng đá hom nay hoạt động tiếp theo được thực hiện. Sử dụngpqresulterrormessage
Khi bạn muốn biết trạng thái được liên kết với kèo bóng đá hom nay cụ thểpgresult
; sử dụngpqerrormessage
Khi bạn muốn biết trạng thái từ thao tác mới nhất trên kết nối.
pqresultverboseerrormessage
#Trả về kèo bóng đá hom nay phiên bản được định dạng lại của thông báo lỗi được liên kết với Apgresult
Đối tượng.
Char *pqresultverboseerrormessage (const pgresult *res,
Trong kèo bóng đá hom nay số tình huống, khách hàng có thể muốn có được phiên bản chi tiết hơn của lỗi được báo cáo trước đó.pqresultverboseerrormessage
Địa chỉ nhu cầu này bằng cách tính toán thông báo sẽ được tạo bởipqresulterrormessage
44294_44386PGRESULT
đã được tạo ra. Nếupgresult
kèo bóng đá hom nay phải là kết quả lỗi,Hồipgresult kèo bóng đá hom nay phải là kết quả lỗiHàngđược báo cáo thay thế. Chuỗi được trả về bao gồm kèo bóng đá hom nay dòng mới.
kèo bóng đá hom nay giống như hầu hết các chức năng khác để trích xuất dữ liệu từ APGRESULT
, kết quả của hàm này là kèo bóng đá hom nay chuỗi mới được phân bổ. Người gọi phải giải phóng nó bằng cách sử dụngpqfreemem ()
Khi chuỗi kèo bóng đá hom nay còn cần thiết.
Có thể trả lại null nếu kèo bóng đá hom nay có đủ bộ nhớ.
pqresulterrorfield
#Trả về kèo bóng đá hom nay trường riêng lẻ của báo cáo lỗi.
char *pqresulterrorfield (const pgresult *res, int fieldCode);
FieldCode
là kèo bóng đá hom nay định danh trường lỗi; Xem các biểu tượng được liệt kê bên dưới.null
được trả về nếupgresult
kèo bóng đá hom nay phải là một lỗi hoặc kết quả cảnh báo hoặc kèo bóng đá hom nay bao gồm trường được chỉ định. Giá trị trường thường sẽ kèo bóng đá hom nay bao gồm một dòng mới.pgresult
Xử lý được chuyển choPQClear
.
Mã trường sau đây có sẵn:
pg_diag_severity
#Mức độ nghiêm trọng; Nội dung trường làERROR
,Fatal
hoặcPanic
(trong kèo bóng đá hom nay thông báo lỗi) hoặcCẢNH BÁO
,Thông báo
,Debug
,INFO
hoặclog
(Trong kèo bóng đá hom nay thông báo thông báo) hoặc bản dịch cục bộ của kèo bóng đá hom nay trong số này. Luôn luôn có mặt.
pg_diag_severity_nonlocalized
#Mức độ nghiêm trọng; Nội dung trường làERROR
,Fatal
hoặcPanic
(trong kèo bóng đá hom nay thông báo lỗi) hoặcCảnh báo
,Thông báo
,DEBUG
,INFO
hoặclog
(Trong kèo bóng đá hom nay thông báo thông báo). Điều này giống hệt vớipg_diag_severity
Trường ngoại trừ các nội dung kèo bóng đá hom nay bao giờ được bản địa hóa. Điều này chỉ có trong các báo cáo được tạo bởiPOSTGRESQLPhiên bản 9.6 trở lên.
PG_DIAG_SQLSTATE
#Mã SQLSTATE cho lỗi. Mã SQLSTATE xác định loại lỗi đã xảy ra;Phụ lục A. Trường này kèo bóng đá hom nay thể bản địa hóa và luôn có mặt.
pg_diag_message_primary
#Thông báo lỗi có thể đọc được chính của con người (thường là kèo bóng đá hom nay dòng). Luôn luôn có mặt.
PG_DIAG_MESSAGE_DETAIL
#Chi tiết: Thông báo lỗi thứ cấp tùy chọn mang thêm chi tiết về vấn đề. Có thể chạy đến nhiều dòng.
PG_DIAG_MESSAGE_HINT
#Gợi ý: Một đề xuất tùy chọn phải làm gì về vấn đề. Điều này nhằm khác với chi tiết ở chỗ nó cung cấp lời khuyên (có khả năng kèo bóng đá hom nay phù hợp) thay vì sự thật khó khăn.
pg_diag_statement_poseition
#Một chuỗi chứa số nguyên thập phân cho biết vị trí con trỏ lỗi làm chỉ mục vào chuỗi câu kèo bóng đá hom nay gốc. Ký tự đầu tiên có chỉ số 1 và các vị trí được đo bằng các ký tự không phải byte.
#Điều này được xác định giống nhưpg_diag_statement_poseition
Trường, nhưng nó được sử dụng khi vị trí con trỏ đề cập đến một kèo bóng đá hom nay được tạo bên trong thay vì kèo bóng đá hom nay được gửi bởi máy khách. TheTrường sẽ luôn xuất hiện khi trường này xuất hiện.
PG_DIAG_INTERNAL_QUERY
#Văn bản của một kèo bóng đá hom nay không thành công trong nội bộ. Ví dụ, đây có thể là một truy vấn SQL do chức năng PL/PGSQL phát hành.
PG_DIAG_CONTEXT
#kèo bóng đá hom nay dấu hiệu của bối cảnh xảy ra lỗi. Hiện tại điều này bao gồm kèo bóng đá hom nay dấu vết Call Stack của các chức năng ngôn ngữ thủ tục hoạt động và các truy vấn được tạo trong nội bộ.
pg_diag_schema_name
#Nếu lỗi được liên kết với kèo bóng đá hom nay đối tượng cơ sở dữ liệu cụ thể, tên của lược đồ chứa đối tượng đó, nếu có.
PG_DIAG_TABLE_NAME
#Nếu lỗi được liên kết với kèo bóng đá hom nay bảng cụ thể, tên của bảng. (Tham khảo trường Tên lược đồ cho tên của lược đồ bảng.)
PG_DIAG_COLUMN_NAME
#Nếu lỗi được liên kết với kèo bóng đá hom nay cột bảng cụ thể, tên của cột. (Tham khảo Lược đồ và các trường tên bảng để xác định bảng.)
pg_diag_datatype_name
#Nếu lỗi được liên kết với kèo bóng đá hom nay kiểu dữ liệu cụ thể, tên của kiểu dữ liệu. (Tham khảo trường Tên lược đồ cho tên của lược đồ loại dữ liệu.)
pg_diag_constraint_name
#Nếu lỗi được liên kết với kèo bóng đá hom nay ràng buộc cụ thể, tên của ràng buộc. Tham khảo các trường được liệt kê ở trên cho bảng hoặc miền liên quan.
PG_DIAG_SOURCE_FILE
#Tên tệp của vị trí mã nguồn nơi báo cáo lỗi.
pg_diag_source_line
#Số dòng của vị trí mã nguồn nơi báo cáo lỗi.
PG_DIAG_SOURCE_FUNCTION
#Tên của chức kèo bóng đá hom nay mã nguồn báo cáo lỗi.
Các trường cho tên lược đồ, tên bảng, tên cột, tên loại dữ liệu và tên ràng buộc chỉ được cung cấp cho kèo bóng đá hom nay số loại lỗi giới hạn; nhìn thấyPhụ lục A. kèo bóng đá hom nay cho rằng sự hiện diện của bất kỳ trường nào trong số này đảm bảo sự hiện diện của trường khác.
Khách hàng chịu trách nhiệm định dạng thông tin hiển thị để đáp ứng nhu cầu của nó; Đặc biệt nó nên phá vỡ kèo bóng đá hom nay hàng dài khi cần thiết.
Lỗi được tạo bên tronglibpqsẽ có mức độ nghiêm trọng và thông điệp chính, nhưng thường kèo bóng đá hom nay có trường nào khác.
Lưu ý rằng kèo bóng đá hom nay trường lỗi chỉ khả dụng từPGRESULT
Đối tượng, kèo bóng đá hom nayPGConn
Đối tượng; kèo bóng đá hom nay cópqerrorfield
function.
PQClear
#Giải phóng bộ nhớ liên kết với APGRESULT
. Mọi kết quả kèo bóng đá hom nay phải được giải phóng quaPQClear
Khi nó kèo bóng đá hom nay còn cần thiết nữa.
void pqclear (pgresult *res);
Nếu đối số lànull
Con trỏ, kèo bóng đá hom nay có hoạt động nào được thực hiện.
Bạn có thể giữPGRESULT
Đối tượng xung quanh miễn là bạn cần nó; Nó không biến mất khi bạn đưa ra một kèo bóng đá hom nay mới, cũng như ngay cả khi bạn đóng kết nối.PQClear
. kèo bóng đá hom nay làm điều này sẽ dẫn đến rò rỉ bộ nhớ trong ứng dụng của bạn.
Các chức kèo bóng đá hom nay này được sử dụng để trích xuất thông tin từ APGRESULT
Đối tượng đại diện cho kết quả truy vấn thành công (nghĩa là, kèo bóng đá hom nay đối tượng có trạng tháiPGRES_TUDS_OK
,pgres_single_tuple
hoặcPGRES_TUDS_CHUNK
). Chúng cũng có thể được sử dụng để trích xuất thông tin từ một hoạt động mô tả thành công: Kết quả của một mô tả có tất cả thông tin cột giống nhau mà việc thực hiện truy vấn thực tế sẽ cung cấp, nhưng nó kèo bóng đá hom nay có hàng.
PQNTUMPLES
#Trả về số lượng hàng (bộ dữ liệu) trong kết quả truy vấn. (Lưu ý rằngPGRESULT
Đối tượng bị giới hạn kèo bóng đá hom nay quáint_max
hàng, vì vậyint
Kết quả là đủ.)
int pqntuples (const pgresult *res);
PQNFields
#Trả về số lượng cột (trường) trong mỗi hàng của kết quả truy vấn.
int pqnfields (const pgresult *res);
PQFNAME
#Trả về tên cột được liên kết với số cột đã cho. Số cột bắt đầu ở 0. Người gọi kèo bóng đá hom nay được giải phóng trực tiếp kết quả.PGRESULT
Xử lý được chuyển choPQClear
.
char *pqfname (const pgresult *res,
null
được trả về nếu số cột nằm ngoài phạm vi.
PQFNumber
#Trả về số cột được liên kết với tên cột đã cho.
int pqfnumber (const pgresult *res,
-1 được trả về nếu tên đã cho kèo bóng đá hom nay khớp với bất kỳ cột nào.
Tên đã cho được đối xử như một định danh trong kèo bóng đá hom nay SQL, nghĩa là nó bị hạ thấp trừ khi được trích dẫn kép. Ví dụ: đưa ra kết quả truy vấn được tạo từ kèo bóng đá hom nay SQL:
Chọn 1 làm foo, 2 là "thanh";
Chúng tôi sẽ có kết quả:
pqfname (res, 0)foopqfname (res, 1)Barpqfnumber (res, "foo")0pqfnumber (res, "foo")0pqfnumber (res, "bar")-1pqfnumber (res, "\" bar \ "")1
PQFTable
#Trả về OID của bảng mà từ đó cột đã cho được lấy. Số cột bắt đầu ở 0.
oid pqftable (const pgresult *res,
kèo bóng đá hom nay hợp lệ
được trả về nếu số cột nằm ngoài phạm vi hoặc nếu cột được chỉ định kèo bóng đá hom nay phải là tham chiếu đơn giản đến cột bảng. Bạn có thể truy vấn bảng hệ thốngPG_Class
Để xác định chính xác bảng nào được tham chiếu.
LoạiOID
và hằng sốkèo bóng đá hom nay hợp lệ
sẽ được xác định khi bạn bao gồmlibpqTệp tiêu đề. Cả hai sẽ là kèo bóng đá hom nay loại số nguyên.
pqftablecol
#Trả về số cột (trong bảng của nó) của cột tạo thành cột Kết quả truy vấn được chỉ định. Số cột truy vấn-result bắt đầu ở 0, nhưng kèo bóng đá hom nay cột bảng có số khác.
int pqftablecol (const pgresult *res,
Zero được trả về nếu số cột nằm ngoài phạm vi hoặc nếu cột được chỉ định kèo bóng đá hom nay phải là tham chiếu đơn giản đến cột bảng.
PQFFormat
#Trả về mã định dạng biểu thị định dạng của cột đã cho. Số cột bắt đầu ở 0.
int pqfformat (const pgresult *res,
Mã định dạng Zero biểu thị biểu diễn dữ liệu văn bản, trong khi mã định dạng kèo bóng đá hom nay biểu thị nhị phân. (Các mã khác được dành cho định nghĩa trong tương lai.)
PQFTYPE
#Trả về kiểu dữ liệu được liên kết với số cột đã cho. Số nguyên được trả về là số OID nội bộ của loại.
oid pqfttype (const pgresult *res,
Bạn có thể truy vấn bảng hệ thốngPG_TYPE
Để có được tên và thuộc tính của kèo bóng đá hom nay loại dữ liệu khác nhau. TheOIDS của kèo bóng đá hom nay loại dữ liệu tích hợp được xác định trong tệpDanh mục/pg_type_d.h
TrongPostgreSQLCài đặt củaBao gồm
Thư mục.
PQFMOD
#Trả về công cụ sửa đổi loại của cột được liên kết với số cột đã cho. Số cột bắt đầu ở 0.
int pqfmod (const pgresult *res,
Giải thích kèo bóng đá hom nay giá trị sửa đổi là cụ thể về loại; Chúng thường chỉ ra giới hạn độ chính xác hoặc kích thước.kèo bóng đá hom nay có thông tin. Hầu hết các loại dữ liệu kèo bóng đá hom nay sử dụng bộ sửa đổi, trong trường hợp đó, giá trị luôn luôn -1.
pqfsize
#Trả về kích thước theo byte của cột được liên kết với số cột đã cho. Số cột bắt đầu ở 0.
int pqfsize (const pgresult *res,
pqfsize
Trả về kèo bóng đá hom nay gian được phân bổ cho cột này trong một hàng cơ sở dữ liệu, nói cách khác, kích thước của biểu diễn nội bộ của máy chủ của kiểu dữ liệu. (Theo đó, nó kèo bóng đá hom nay thực sự hữu ích cho khách hàng.) Một giá trị âm cho biết loại dữ liệu có độ dài thay đổi.
PQBinaryTuples
#Trả về 1 nếuPGRESULT
Chứa dữ liệu nhị phân và 0 nếu nó chứa dữ liệu văn bản.
int pqbinarytuples (const pgresult *res);
Hàm này kèo bóng đá hom nay được dùng nữa (ngoại trừ việc sử dụng nó liên quan đếnCopy
), bởi vì nó có thể cho kèo bóng đá hom naypgresult
Để chứa dữ liệu văn bản trong kèo bóng đá hom nay số cột và dữ liệu nhị phân ở các cột khác.PQFFormat
được ưu tiên.PQBinaryTuples
Chỉ trả về 1 nếu tất cả kèo bóng đá hom nay cột của kết quả là nhị phân (định dạng 1).
PQGetValue
#Trả về kèo bóng đá hom nay giá trị trường duy nhất của kèo bóng đá hom nay hàng của Apgresult
. Các số hàng và cột bắt đầu ở 0. Người gọi kèo bóng đá hom nay được giải phóng trực tiếp kết quả.pgresult
Xử lý được chuyển choPQClear
.
Char *pqgetValue (const pgresult *res,
Đối với dữ liệu ở định dạng văn bản, giá trị được trả về bởiPQGetValue
là biểu diễn chuỗi ký tự kết thúc của giá trị trường. Đối với dữ liệu ở định dạng nhị phân, giá trị nằm trong biểu diễn nhị phân được xác định bởi kiểu dữ liệuTYPSEND
vàTyPreceive
chức kèo bóng đá hom nay. .
kèo bóng đá hom nay chuỗi trống được trả về nếu giá trị trường là null. Nhìn thấyPQGetisNull
Để phân biệt kèo bóng đá hom nay giá trị null với kèo bóng đá hom nay giá trị chuỗi trống.
Con trỏ được trả về bởiPQGetValue
Điểm để lưu trữ là kèo bóng đá hom nay phần củaPGRESULT
Cấu trúc. Người ta kèo bóng đá hom nay nên sửa đổi dữ liệu mà nó trỏ đến và người ta phải sao chép rõ ràng dữ liệu vào bộ lưu trữ khác nếu nó được sử dụng qua vòng đời củaPGRESULT
Cấu trúc chính nó.
PQGetIsNull
#Kiểm tra kèo bóng đá hom nay trường cho giá trị null. Các số hàng và cột bắt đầu ở 0.
int pqgetisnull (const pgresult *res,
Hàm này trả về 1 nếu trường là null và 0 nếu nó chứa giá trị kèo bóng đá hom nay null. (Lưu ý rằngPQGetValue
Sẽ trả về một chuỗi trống, kèo bóng đá hom nay phải là một con trỏ null, cho một trường null.)
PQGetLpm
#Trả về độ dài thực tế của giá trị trường tính bằng byte. kèo bóng đá hom nay số hàng và cột bắt đầu ở 0.
int PQGetLpm (const pgresult *res,
Đây là độ dài dữ liệu thực tế cho giá trị dữ liệu cụ thể, nghĩa là kích thước của đối tượng được chỉ ra bởiPQGetValue
. Đối với định dạng dữ liệu văn bản, điều này giống nhưstrlen ()
. Đối với định dạng nhị phân, đây là thông tin cần thiết.kèo bóng đá hom naydựa vàopqfsize
Để có được độ dài dữ liệu thực tế.
pqnparams
#Trả về số lượng tham số của câu kèo bóng đá hom nay đã chuẩn bị.
int pqnparams (const pgresult *res);
Hàm này chỉ hữu ích khi kiểm tra kết quả của. Đối với kèo bóng đá hom nay loại kết quả khác, nó sẽ trả về 0.
PQParamType
#Trả về kiểu dữ liệu của tham số câu kèo bóng đá hom nay được chỉ định. Số tham số bắt đầu ở 0.
oid pqparamtype (const pgresult *res, int param_number);
Hàm này chỉ hữu ích khi kiểm tra kết quả của. Đối với kèo bóng đá hom nay loại kết quả khác, nó sẽ trả về 0.
PQPrint
#In ra tất cả kèo bóng đá hom nay hàng và, tùy chọn, tên cột vào luồng đầu ra được chỉ định.
void pqprint (tệp *fout, / *luồng đầu ra * /
Hàm này trước đây được sử dụng bởiPSQLĐể in kết quả truy vấn, nhưng điều này kèo bóng đá hom nay còn xảy ra. Lưu ý rằng nó giả sử tất cả dữ liệu ở định dạng văn bản.
Các chức kèo bóng đá hom nay này được sử dụng để trích xuất thông tin khác từPGRESULT
Đối tượng.
PQCMDSTATUS
#Trả về thẻ trạng thái kèo bóng đá hom nay từ kèo bóng đá hom nay SQL đã tạoPGRESULT
.
char *pqcmdstatus (pgresult *res);
Thông thường đây chỉ là tên của kèo bóng đá hom nay, nhưng nó có thể bao gồm dữ liệu bổ sung như số lượng hàng được xử lý. Người gọi không nên giải phóng kết quả trực tiếp.pgresult
Xử lý được chuyển choPQClear
.
PQCMDTUMPLES
#Trả về số lượng hàng bị ảnh hưởng bởi kèo bóng đá hom nay SQL.
char *pqcmdtuples (pgresult *res);
Hàm này trả về kèo bóng đá hom nay chuỗi chứa số lượng hàng bị ảnh hưởng bởiSQLCâu kèo bóng đá hom nay đã tạopgresult
. Chức kèo bóng đá hom nay này chỉ có thể được sử dụng sau khi thực hiệnChọn
,Tạo bảng dưới dạng
,Chèn
,Cập nhật
,Xóa
,Merge
,Di chuyển
,Fetch
hoặcCopy
câu kèo bóng đá hom nay hoặc mộtthực thi
của kèo bóng đá hom nay truy vấn đã chuẩn bị có chứaChèn
,Cập nhật
,Xóa
hoặcMerge
Tuyên bố. Nếu kèo bóng đá hom nay đã tạoPGRESULT
là bất cứ điều gì khác,PQCMDTUMPLES
Trả về một chuỗi trống. Người gọi kèo bóng đá hom nay nên giải phóng giá trị trả về trực tiếp.PGRESULT
Xử lý được chuyển choPQClear
.
PQOIDVALUE
#Trả về OIDcủa hàng được chèn, nếuSQLkèo bóng đá hom nay làChèn
Chèn chính xác kèo bóng đá hom nay hàng vào kèo bóng đá hom nay bảng có OID hoặc Athực thi
của kèo bóng đá hom nay truy vấn đã chuẩn bị có chứa phù hợpChèn
Tuyên bố. Nếu kèo bóng đá hom nay, chức năng này trả vềkèo bóng đá hom nay hợp lệ
. Chức kèo bóng đá hom nay này cũng sẽ trở lạikèo bóng đá hom nay hợp lệ
Nếu bảng bị ảnh hưởng bởiChèn
Câu kèo bóng đá hom nay không chứa OIDS.
oid pqoidValue (const pgresult *res);
PQOIDSTATUS
#Hàm này kèo bóng đá hom nay được ủng hộPQOIDVALUE
và kèo bóng đá hom nay an toàn cho luồng. Nó trả về một chuỗi với oid của hàng được chèn, trong khiPQOIDVALUE
Trả về giá trị OID.
Char *pqoidstatus (const pgresult *res);
pqescapeliteral
#char *pqescapeliteral (pgconn *Conn, const char *str, size_t length);
pqescapeliteral
thoát một chuỗi để sử dụng trong kèo bóng đá hom nay SQL. Điều này rất hữu ích khi chèn các giá trị dữ liệu dưới dạng hằng số theo nghĩa đen trong các kèo bóng đá hom nay SQL.pqescapeliteral
Thực hiện thao tác này.
pqescapeliteral
Trả về phiên bản thoát củastr
Tham số trong bộ nhớ được phân bổ vớimalloc ()
. Bộ nhớ này nên được giải phóng bằng cách sử dụngpqfreemem ()
Khi kết quả kèo bóng đá hom nay còn cần thiết. kèo bóng đá hom nay cần phải tính một byte bằng 0 và kèo bóng đá hom nay nên được tính vàoLEGN
. (Nếu tìm thấy một byte chấm dứt bằng kèo bóng đá hom nay trướclength
byte được xử lý,pqescapeliteral
dừng ở số 0; Hành vi như vậy giống nhưstrncpy
.) Chuỗi trả về có tất cả kèo bóng đá hom nay ký tự đặc biệt được thay thế để chúng có thể được xử lý đúng cách bởiPostgreSQLTrình phân tích cú pháp theo nghĩa đen. kèo bóng đá hom nay byte chấm dứt cũng được thêm vào.POSTGRESQLChuỗi chữ được bao gồm trong chuỗi kết quả.
ON ERROR,pqescapeliteral
returnnull
và kèo bóng đá hom nay thông báo phù hợp được lưu trữ trongConn
Đối tượng.
Điều đặc biệt quan trọng là phải trốn thoát thích hợp khi xử lý các chuỗi nhận được từ một nguồn kèo bóng đá hom nay đáng tin cậy. Nếu kèo bóng đá hom nay thì có rủi ro bảo mật: Bạn dễ bị tổn thương vớiSQL tiêmCác cuộc tấn công trong đó các kèo bóng đá hom nay SQL không mong muốn được đưa vào cơ sở dữ liệu của bạn.
Lưu ý rằng nó kèo bóng đá hom nay cần thiết cũng kèo bóng đá hom nay chính xác để thoát ra khi giá trị dữ liệu được truyền dưới dạng tham số riêng biệt trongPQExecParams
hoặc kèo bóng đá hom nay thói quen anh chị em của nó.
pqescapeidentifier
#82907_82982
pqescapeidentifier
thoát một chuỗi để sử dụng làm định danh SQL, chẳng hạn như bảng, cột hoặc tên chức năng. Điều này rất hữu ích khi mã định danh do người dùng cung cấp có thể chứa các ký tự đặc biệt mà nếu kèo bóng đá hom nay sẽ kèo bóng đá hom nay được giải thích là một phần của định danh bởi trình phân tích cú pháp SQL hoặc khi định danh có thể chứa các ký tự trường hợp trên có trường hợp nên được bảo quản.
pqescapentifier
Trả về phiên bản củastr
tham số thoát ra như kèo bóng đá hom nay định danh SQL trong bộ nhớ được phân bổ vớimalloc ()
. Bộ nhớ này phải được giải phóng bằng cách sử dụngpqfreemem ()
Khi kết quả kèo bóng đá hom nay còn cần thiết. kèo bóng đá hom nay cần phải tính một byte bằng 0 và kèo bóng đá hom nay nên được tính vàoLEGN
. (Nếu tìm thấy một byte chấm dứt bằng kèo bóng đá hom nay trướcLEGN
byte được xử lý,pqescapentifier
dừng ở số 0; Hành vi như vậy giống nhưstrncpy
.) Chuỗi trả về có tất cả các ký tự đặc biệt được thay thế để nó được xử lý đúng như kèo bóng đá hom nay định danh SQL. kèo bóng đá hom nay byte chấm dứt cũng được thêm vào.
ON ERROR,pqescapeidentifier
returnnull
và kèo bóng đá hom nay thông điệp phù hợp được lưu trữ trongConn
Đối tượng.
84897_85042
pqescapestringConn
#size_t pqescapestringconn (pgconn *Conn,
pqescapestringConn
thoát khỏi chuỗi chữ, giống nhưpqescapeliteral
. kèo bóng đá hom nay giống nhưpqescapeliteral
, Người gọi có trách nhiệm cung cấp bộ đệm có kích thước phù hợp. Hơn nữa,pqescapestringConn
kèo bóng đá hom nay tạo ra các trích dẫn đơn phải bao quanhPostgreSQLChuỗi chữ; Chúng nên được cung cấp trong kèo bóng đá hom nay SQL rằng kết quả được chèn vào.từ
chỉ vào ký tự đầu tiên của chuỗi được thoát ra vàLEGN
Tham số cung cấp số lượng byte trong chuỗi này. kèo bóng đá hom nay cần phải tính một byte bằng 0 và kèo bóng đá hom nay nên được tính vàoLEGN
. (Nếu tìm thấy một byte chấm dứt bằng kèo bóng đá hom nay trướcLEGN
byte được xử lý,pqescapestringConn
dừng ở số 0; Hành vi như vậy giống nhưstrncpy
.)đến
sẽ chỉ vào bộ đệm có thể giữ ít nhất kèo bóng đá hom nay byte nữa so với giá trị củaLEGN
, nếu kèo bóng đá hom nay thì hành vi kèo bóng đá hom nay được xác định. Hành vi cũng kèo bóng đá hom nay được xác định nếuđến
vàtừ
Chuỗi chồng chéo.
NếuERROR
tham số kèo bóng đá hom nay phảinull
, sau đó*Lỗi
được đặt thành 0 khi thành công, kèo bóng đá hom nay có lỗi. Hiện tại các điều kiện lỗi duy nhất có thể liên quan đến mã hóa đa kèo bóng đá hom nay hợp lệ trong chuỗi nguồn.Conn
Đối tượng, cho dù hay kèo bóng đá hom nayERROR
lànull
.
pqescapestringConn
Trả về số byte được viết thànhđến
, kèo bóng đá hom nay bao gồm việc chấm dứt byte.
pqescapestring
#pqescapestring
là phiên bản cũ hơn, kèo bóng đá hom nay dùng nữa củapqescapestringConn
.
size_t pqescapestring (char *to, const char *từ, size_t length);
Sự khác biệt duy nhất so vớipqescapestringConn
làpqescapestring
kèo bóng đá hom nay lấyPGConn
hoặcERROR
tham số. Bởi vì điều này, nó kèo bóng đá hom nay thể điều chỉnh hành vi của nó tùy thuộc vào các thuộc tính kết nối (chẳng hạn như mã hóa ký tự) và do đóNó có thể cho kết quả sai. Ngoài ra, nó kèo bóng đá hom nay có cách nào để báo cáo các điều kiện lỗi.
pqescapestring
Có thể được sử dụng kèo bóng đá hom nay cách an toàn trong các chương trình khách hàng chỉ làm việc với kèo bóng đá hom nayPOSTGRESQLKết nối tại kèo bóng đá hom nay thời điểm (trong trường hợp này nó có thể tìm ra những gì nó cần biếtPhía sau hậu trườngKhăn). Trong các bối cảnh khác, đó là kèo bóng đá hom nay mối nguy hiểm bảo mật và nên tránh có lợi chopqescapestringConn
.
pqescapyteaconn
#thoát dữ liệu nhị phân để sử dụng trong kèo bóng đá hom nay SQL với loạibytea
. Như vớipqescapestringConn
, Điều này chỉ được sử dụng khi chèn dữ liệu trực tiếp vào chuỗi kèo bóng đá hom nay SQL.
Char kèo bóng đá hom nay dấu *pqescapyteaconn (PGConn *Conn,
Giá trị byte nhất định phải được thoát khi được sử dụng như kèo bóng đá hom nay phần của Abytea
theo nghĩa đen trong kèo bóng đá hom naySQLcâu kèo bóng đá hom nay.pqescapyteaconn
Escapes byte bằng cách sử dụng mã hóa hex hoặc thoát khỏi sự ngược. Nhìn thấyPhần 8.4Để biết thêm thông tin.
Thetừ
tham số chỉ vào byte đầu tiên của chuỗi sẽ được thoát ra vàfrom_length
Tham số cung cấp số lượng byte trong chuỗi nhị phân này. (Một byte kết thúc bằng kèo bóng đá hom nay là kèo bóng đá hom nay cần thiết cũng như kèo bóng đá hom nay được tính.)to_length
Tham số trỏ đến kèo bóng đá hom nay biến sẽ giữ độ dài chuỗi thoát ra kết quả. Độ dài chuỗi kết quả này bao gồm kết thúc bằng 0 byte của kết quả.
pqescapyteaconn
Trả về phiên bản thoát củatừ
Chuỗi nhị phân tham số trong bộ nhớ được phân bổ vớimalloc ()
. Bộ nhớ này nên được giải phóng bằng cách sử dụngpqfreemem ()
Khi kết quả kèo bóng đá hom nay còn cần thiết. Chuỗi trả về có tất cả các ký tự đặc biệt được thay thế để chúng có thể được xử lý đúng cách bởiPostgreSQLTrình phân tích cú pháp theo nghĩa đen vàbytea
Hàm đầu vào. kèo bóng đá hom nay byte chấm dứt cũng được thêm vào.POSTGRESQLChuỗi chữ kèo bóng đá hom nay phải là một phần của chuỗi kết quả.
Khi lỗi, kèo bóng đá hom nay con trỏ null được trả về và thông báo lỗi phù hợp được lưu trữ trongConn
Đối tượng. Hiện tại, lỗi duy nhất có thể là kèo bóng đá hom nay đủ bộ nhớ cho chuỗi kết quả.
pqescapytea
#pqescapytea
là phiên bản cũ hơn, kèo bóng đá hom nay dùng nữa củapqescapyteaconn
.
Char kèo bóng đá hom nay dấu *pqescapytea (const kèo bóng đá hom nay dấu char *từ,
Sự khác biệt duy nhất so vớipqescapyteaconn
làpqescapytea
kèo bóng đá hom nay lấyPGConn
tham số. Vì điều này,pqescapytea
Chỉ có thể được sử dụng kèo bóng đá hom nay cách an toàn trong các chương trình khách hàng sử dụng kèo bóng đá hom nayPostgreSQLKết nối tại kèo bóng đá hom nay thời điểm (trong trường hợp này nó có thể tìm ra những gì nó cần biếtPhía sau hậu trườngKhăn). Nócó thể đưa ra kết quả saiNếu được sử dụng trong kèo bóng đá hom nay chương trình sử dụng nhiều kết nối cơ sở dữ liệu (sử dụngpqescapyteaconn
Trong những trường hợp như vậy).
PQUNESCAPHERTEA
#Chuyển đổi biểu diễn chuỗi dữ liệu nhị phân thành dữ liệu nhị phân - ngược lạipqescapytea
. Điều này là cần thiết khi lấy lạibytea
Dữ liệu ở định dạng văn bản, nhưng kèo bóng đá hom nay phải khi truy xuất nó ở định dạng nhị phân.
95399_95480
Thetừ
Tham số trỏ đến kèo bóng đá hom nay chuỗi như có thể được trả về bởiPQGetValue
Khi được áp dụng cho Abytea
cột.PQUNESCAPHERTEA
Chuyển đổi biểu diễn chuỗi này thành biểu diễn nhị phân của nó. Nó trả về kèo bóng đá hom nay con trỏ cho bộ đệm được phân bổ vớimalloc ()
hoặcnull
Khi lỗi và đặt kích thước của bộ đệm vàoto_length
. Kết quả phải được giải phóng bằng cách sử dụngpqfreemem
Khi nó kèo bóng đá hom nay còn cần thiết nữa.
Chuyển đổi này kèo bóng đá hom nay chính xác là nghịch đảo củapqescapytea
, vì chuỗi dự kiến sẽ làEscapedKhănKhi nhận được từPQGetValue
. Cụ thể, điều này có nghĩa là kèo bóng đá hom nay cần xem xét trích dẫn chuỗi, và vì vậy kèo bóng đá hom nay cần phảiPGConn
tham số.
Nếu bạn thấy bất cứ điều gì trong tài liệu kèo bóng đá hom nay chính xác, kèo bóng đá hom nay phù hợpMẫu nàyĐể báo cáo vấn đề tài liệu.