kèo bóng đá hôm nay và ngày mai 20 tháng 2 năm 2025:Postgresql 17.4, 16.8, 15.12, 14.17 và 13.20 được phát hành!
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 kèo bóng đá hôm nay và ngày mai đượ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 kèo bóng đá hôm nay và ngày mai được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng kèo bóng đá hôm nay và ngày mai trang chohiện tạiPhiên bản hoặc kèo bóng đá hôm nay và ngày mai trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

34.3. Chức năng thực thi kèo bóng đá hôm nay và ngày mai

Một 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 đá hôm nay và ngày mai SQL.

34.3.1. Chức năng chính

PQEXEC

gửi kèo bóng đá hôm nay và ngày mai lên máy chủ và chờ kết quả.

PGRESULT *PQEXEC (PGCONN *Conn, Const Char *Command);

Trả về ApgresultCon 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 đá hôm nay và ngày mai đến máy chủ.PQResultstatusHà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ề các lỗi đó.

Chuỗi kèo bóng đá hôm nay và ngày mai có thể bao gồm nhiều kèo bóng đá hôm nay và ngày mai SQL (được phân tách bằng dấu chấm phẩy). Nhiều truy vấn được gửi trong mộtPQEXECcuộc gọi được xử lý trong kèo bóng đá hôm nay và ngày mai giao dịch, trừ khi có rõ ràngBắt đầu/cam kếtCác kèo bóng đá hôm nay và ngày mai có 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ý các chuỗi đa query.) Tuy nhiênpgresultCấu trúc chỉ mô tả kết quả của kèo bóng đá hôm nay và ngày mai cuối cùng được thực thi từ chuỗi. Nếu một trong các kèo bóng đá hôm nay và ngày mai không thành công, việc xử lý chuỗi dừng lại với nó và đã trả vềpgresultMô tả tình trạng lỗi.

PQExecparams

gửi kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai SQL.

PGRESULT *PQEXECPARAMS (PGConn *Conn,

PQExecParamsgiố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 đá hôm nay và ngày mai 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.PQExecParamschỉ được hỗ trợ trong giao thức 3.0 trở lên các kết nối sau; nó sẽ thất bại khi sử dụng giao thức 2.0.

Các đối số chức năng là:

Conn

Đối tượng kết nối để gửi kèo bóng đá hôm nay và ngày mai qua.

kèo bóng đá hôm nay và ngày mai

Chuỗi kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai là$ 1, $ 2, v.v.

nparams

Số lượng tham số được cung cấp; nó là độ dài của các mảngparamtypes [], paramValues ​​[], paramlength []paramformats []. (Con trỏ mảng có thể lànullKhinparamsbằng kèo bóng đá hôm nay và ngày mai.)

paramtypes []

Chỉ định, bởi OID, các loại dữ liệu được gán cho các ký hiệu tham số. Nếu nhưparamtypes16725_16731null16761_16926

paramValues ​​[]

Chỉ định các giá trị thực của các tham số. kèo bóng đá hôm nay và ngày mai 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 các tham số định dạng nhị phân. Nó bị bỏ qua cho các tham số null và các 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 đá hôm nay và ngày mai (đặ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.

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ụ, các 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_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 đá hôm nay và ngày mai 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ủaPQExecparamsOverPQEXEC19223_19365

kèo bóng đá hôm nay và ngày mai giống nhưPQEXEC, PQExecparamsCho phép nhiều nhất một kèo bóng đá hôm nay và ngày mai SQL trong chuỗi đã cho. .

Tip

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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 theo 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 đá hôm nay và ngày mai khớp loại cho bạn.

PQPrepare

Đệ trình yêu cầu tạo câu kèo bóng đá hôm nay và ngày mai đã chuẩn bị với các tham số đã cho và chờ hoàn thành.

pgresult *pqprepare (pgconn *Conn,

PQPrepareTạo một câu kèo bóng đá hôm nay và ngày mai đã 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 đá hôm nay và ngày mai đượ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.PQPreparechỉ được hỗ trợ trong các kết nối giao thức 3.0 trở lên; nó sẽ thất bại khi sử dụng giao thức 2.0.

Hàm tạo ra một câu kèo bóng đá hôm nay và ngày mai đã chuẩn bị có tênSTMTNAMEtừTruy vấnChuỗi, phải chứa một kèo bóng đá hôm nay và ngày mai SQL đơn.stmtnamecó 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 đá hôm nay và ngày mai chưa được đặt tên nào có sẵn đượ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 đá hôm nay và ngày mai đã được xác định trong phiên hiện tại.$ 1, $ 2, v.v.nparamslà số lượng tham số mà các loại được chỉ định trước trong mảngparamtypes []. (Con trỏ mảng có thể lànullKhinparamsbằng kèo bóng đá hôm nay và ngày mai.)paramtypes []Chỉ định, bởi OID, các loại dữ liệu được gán cho các ký hiệu tham số. Nếu nhưparamtypesnullhoặc bất kỳ phần tử cụ thể nào trong mảng bằng kèo bóng đá hôm nay và ngày mai, máy chủ gán một loại dữ liệu cho ký hiệu tham số theo cùng một cách nó sẽ làm cho một chuỗi chữ kèo bóng đá hôm nay và ngày mai bị lỗi. Ngoài ra, truy vấn có thể sử dụng các ký hiệu tham số có số cao hơnnparams; Các loại dữ liệu cũng sẽ được suy ra cho các biểu tượng này.Đối với kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai.pqerrormessageĐể biết thêm thông tin về các lỗi đó.

Câu kèo bóng đá hôm nay và ngày mai được chuẩn bị để sử dụng vớiPQEXECPREPAREDcũng có thể được tạo bằng cách thực thi SQLChuẩn bịCâu kèo bóng đá hôm nay và ngày mai. Ngoài ra, mặc dù không cólibpqHàm xóa câu kèo bóng đá hôm nay và ngày mai đã chuẩn bị, SQLkèo bóng đáCâu kèo bóng đá hôm nay và ngày mai có thể được sử dụng cho mục đích đó.

PQEXECPREPARED

Gửi yêu cầu thực hiện câu kèo bóng đá hôm nay và ngày mai đã chuẩn bị với các tham số đã cho và chờ kết quả.

PGRESULT *PQEXECPREPARED (PGConn *Conn,

PQEXECPREPAREDgiống nhưPQExecParams, nhưng kèo bóng đá hôm nay và ngày mai sẽ được thực thi được chỉ định bằng cách đặt tên một câu kèo bóng đá hôm nay và ngày mai đượ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 đá hôm nay và ngày mai 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.PQEXECPREPAREDchỉ được hỗ trợ trong giao thức 3.0 trở lên các kết nối sau; nó sẽ thất bại khi sử dụng giao thức 2.0.

Các tham số giống hệt vớiPQExecParams, ngoại trừ tên của câu kèo bóng đá hôm nay và ngày mai đã 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 đá hôm nay và ngày mai đã chuẩn bị được xác định khi nó được tạo).

Đệ trình một yêu cầu để có được thông tin về câu kèo bóng đá hôm nay và ngày mai đã 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 đá hôm nay và ngày mai đã chuẩn bị trước đó.chỉ được hỗ trợ trong giao thức 3.0 trở lên các kết nối sau; nó sẽ thất bại khi sử dụng giao thức 2.0.

stmtnamecó thể""hoặcnullĐể tham khảo câu kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai đã chuẩn bị hiện có. Về thành công, APGRESULTvới trạng tháiPGRES_COMMAND_OKđược trả về. Các chức năngpqnparamsPQParamTypecó 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 đá hôm nay và ngày mai đã chuẩn bị và các hàmPQNFields, pqfname, PQFTYPE, vv 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 đá hôm nay và ngày mai.

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.

28103_28172

PQDescriptePortalCho phép kèo bóng đá hôm nay và ngày mai ứng dụng lấy thông tin về cổng thông tin được tạo trước đó. (libpqkèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai SQL.)PQDescriptePortalchỉ được hỗ trợ trong giao thức 3.0 trở lên các kết nối sau; nó sẽ thất bại khi sử dụng giao thức 2.0.

PortalNamecó thể""hoặcnullĐể tham khảo cổng thông tin kèo bóng đá hôm nay và ngày mai tên, nếu kèo bóng đá hôm nay và ngày mai nó phải là tên của một cổng thông tin hiện có. Về thành công, Apgresultvới trạng tháiPGRES_COMMAND_OKđược trả về. Các chức năngPQNFields, pqfname, PQFTYPE, ETC có thể được áp dụng choPGRESULTĐể có được thông tin về các cột kết quả (nếu có) của cổng thông tin.

ThePGRESULTCấ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ìPGRESULTTrừu tượng. Sử dụng các chức năng 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 các trường củaPGRESULTCấ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 đá hôm nay và ngày mai.

30305_30360

PQResultstatusCó thể trả về kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai (chẳng hạn như AChọnhoặcshow).

PGRES_COPY_OUT

Sao chép (từ máy chủ) BẮT ĐẦU DỮ LIỆU.

PGRES_COPY_IN

Sao chép trong (sang 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 đá hôm nay và ngày mai được hiểu.

PGRES_NONFATAL_ERROR

Một lỗi kèo bóng đá hôm nay và ngày mai sinh (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 đá hôm nay và ngày mai nên xảy ra trong các ứng dụng thông thường.

pgres_single_tuple

ThePGRESULTchứa một kết quả duy nhất từ ​​kèo bóng đá hôm nay và ngày mai 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 34.5).

Nếu trạng thái kết quả làPGRES_TUDS_OKhoặcpgres_single_tuple, sau đó các chức năng được mô tả dưới đây có thể được sử dụng để truy xuất các hàng được trả về bởi truy vấn. Lưu ý rằng AChọnkèo bóng đá hôm nay và ngày mai xảy ra để truy xuất các hàng không vẫn hiển thịPGRES_TUDS_OK. PGRES_COMMAND_OKdành cho các kèo bóng đá hôm nay và ngày mai không bao giờ có thể trả lại hàng (ChènhoặcCập nhậtkèo bóng đá hôm nay và ngày mai cóTrở vềmệnh đề, v.v.). kèo bóng đá hôm nay và ngày mai phản hồi củapgres_empty_queryCó thể chỉ ra kèo bóng đá hôm nay và ngày mai lỗi trong phần mềm máy khách.

Kết quả của trạng tháiPGRES_NONFATAL_ERRORSẽ kèo bóng đá hôm nay và ngày mai bao giờ được trả về trực tiếp bởiPQEXEChoặc các chức năng thực thi truy vấn khác; Kết quả của loại này thay kèo bóng đá hôm nay và ngày maio đó được chuyển cho bộ xử lý thông báo (xemPhần 34.12).

pqresstatus

Chuyển đổi loại được liệt kê được trả về bởiPQResultstatusthành một hằng số chuỗi mô tả mã trạng thái. Người gọi kèo bóng đá hôm nay và ngày mai nên giải phóng kết quả.

34894_34939
pqresulterrormessage

Trả về thông báo lỗi được liên kết với kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai nên giải phóng kết quả trực tiếp.PGRESULTXử lý được chuyển choPQClear.

ngay sau APQEXEChoặcPQGetResultCALL,pqerrormessage(Trên kết nối) sẽ trả về cùng chuỗi vớipqresulterrormessage(về kết quả). Tuy nhiên, APGRESULTsẽ 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 các hoạt động tiếp theo được thực hiện. Sử dụngpqresulterrormessageKhi bạn muốn biết trạng thái được liên kết với kèo bóng đá hôm nay và ngày mai cụ thểpgresult; sử dụngpqerrormessageKhi 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đó.PQResultverBoseErrmessageĐịa chỉ nhu cầu này bằng cách tính toán thông báo sẽ được tạo bởipqresulterrormessageNếu các cài đặt độ xác được chỉ định đã có hiệu lực cho kết nối khiPGRESULTđã được tạo ra. NếuPGRESULTkèo bóng đá hôm nay và ngày mai phải là kết quả lỗi,PGRESULT kèo bóng đá hôm nay và ngày mai phải là kết quả lỗiKhănđược báo cáo thay thế. Chuỗi được trả về bao gồm kèo bóng đá hôm nay và ngày mai dòng mới.

kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai còn cần thiết.

Có thể trả lại null nếu kèo bóng đá hôm nay và ngày mai có đủ bộ nhớ.

pqresulterrorfield

Trả về kèo bóng đá hôm nay và ngày mai trường riêng lẻ của báo cáo lỗi.

Char *pqresulterrorfield (const pgresult *res, int fieldCode);

FieldCodelà kèo bóng đá hôm nay và ngày mai đị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ếuPGRESULTkèo bóng đá hôm nay và ngày mai phải là một lỗi hoặc kết quả cảnh báo hoặc kèo bóng đá hôm nay và ngày mai bao gồm trường được chỉ định. Giá trị trường thường sẽ kèo bóng đá hôm nay và ngày mai bao gồm một dòng mới.PGRESULTXử 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, FatalhoặcPanic(trong kèo bóng đá hôm nay và ngày mai thông báo lỗi) hoặccảnh báo, Thông báo, DEBUG, INFOhoặclog(trong kèo bóng đá hôm nay và ngày mai thông báo thông báo) hoặc bản dịch cục bộ của kèo bóng đá hôm nay và ngày mai 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, FatalhoặcPanic(trong kèo bóng đá hôm nay và ngày mai thông báo lỗi) hoặcCảnh báo, Thông báo, Debug, INFOhoặclog(Trong kèo bóng đá hôm nay và ngày mai thông báo thông báo). Điều này giống hệt vớipg_diag_severityTrường ngoại trừ các nội dung kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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_poseitionTrường, nhưng nó được sử dụng khi vị trí con trỏ đề cập đến một kèo bóng đá hôm nay và ngày mai được tạo bên trong thay vì kèo bóng đá hôm nay và ngày mai được gửi bởi máy khách. ThePG_DIAG_INTERNAL_QUERYTrườ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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai đố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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 năng mã nguồn Báo cáo lỗi.

Lưu ý

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 đá hôm nay và ngày mai số loại lỗi giới hạn; nhìn thấyPhụ lục A. kèo bóng đá hôm nay và ngày mai 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ỡ các 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 đá hôm nay và ngày mai có trường nào khác. Lỗi được trả về bởi máy chủ Pre-3.0 Protocol sẽ bao gồm mức độ nghiêm trọng và tin nhắn chính và đôi khi là một thông báo chi tiết, nhưng kèo bóng đá hôm nay và ngày mai có trường nào khác.

Lưu ý rằng các trường lỗi chỉ khả dụng từpgresultĐối tượng, kèo bóng đá hôm nay và ngày maiPGConnĐối tượng; kèo bóng đá hôm nay và ngày mai cópqerrorfieldchức năng.

PQClear

Giải phóng bộ nhớ liên kết với Apgresult. Mọi kết quả kèo bóng đá hôm nay và ngày mai phải được giải phóng quaPQClearKhi nó kèo bóng đá hôm nay và ngày mai còn cần thiết nữa.

void pqclear (pgresult *res);

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 đá hôm nay và ngày mai mới, cũng như ngay cả khi bạn đóng kết nối.PQClear. kèo bóng đá hôm nay và ngày mai làm điều này sẽ dẫn đến rò rỉ bộ nhớ trong ứng dụng của bạn.

34.3.2. Truy xuất thông tin kết quả truy vấn

Các chức năng 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 đá hôm nay và ngày mai đối tượng có trạng tháiPGRES_TUDS_OKhoặcpgres_single_tuple). 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai quáint_maxhàng, vì vậyintKế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 đá hôm nay và ngày mai được giải phóng trực tiếp kết quả.PGRESULTXử 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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, "thanh")-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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai phải là tham chiếu đơn giản đến cột bảng hoặc khi sử dụng giao thức Pre-3.0. 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ạioidvà hằng sốkèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 các 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 đá hôm nay và ngày mai phải là tham chiếu đơn giản đến cột bảng hoặc khi sử dụng giao thức Pre-3.0.

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 đá hôm nay và ngày mai 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 pqftype (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 các loại dữ liệu khác nhau. TheOIDS của các loại dữ liệu tích hợp được xác định trong tệpBao gồm/máy chủ/catalog/pg_type_d.hTrong thư mục cài đặt.

PQFMOD

Trả về bộ 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 các giá trị sửa đổi là cụ thể 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 đá hôm nay và ngày mai có thông tin. Hầu hết các loại dữ liệu kèo bóng đá hôm nay và ngày mai 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,

pqfsizeTrả về kèo bóng đá hôm nay và ngày mai 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 bên trong của máy chủ của kiểu dữ liệu. (Theo đó, nó kèo bóng đá hôm nay và ngày mai 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ếuPGRESULTChứ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 được kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày maiPGRESULTĐể chứa dữ liệu văn bản trong kèo bóng đá hôm nay và ngày mai số cột và dữ liệu nhị phân ở các cột khác.PQFFormatđược ưu tiên.PQBinaryTuplesChỉ trả về 1 nếu tất cả các cột của kết quả là nhị phân (định dạng 1).

PQGetValue

Trả về kèo bóng đá hôm nay và ngày mai giá trị trường duy nhất của kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai được giải phóng trực tiếp kết quả.PGRESULTXử 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ởiPQGetValuelà 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ệuTYPSENDTyPreceivechức năng. .

kèo bóng đá hôm nay và ngày mai chuỗi trống được trả về nếu giá trị trường là null. Nhìn thấyPQGetIsNullĐể phân biệt các giá trị null với các giá trị chuỗi trống.

Con trỏ được trả về bởiPQGetValueĐiểm để lưu trữ là kèo bóng đá hôm nay và ngày mai phần củaPGRESULTCấu trúc. Người ta kèo bóng đá hôm nay và ngày mai 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ủapgresultCấu trúc chính nó.

PQGetIsNull

Kiểm tra kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai null. (Lưu ý rằngPQGetValueSẽ trả về một chuỗi trống, kèo bóng đá hôm nay và ngày mai 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. Các số hàng và cột bắt đầu ở 0.

int pqetlength (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 đá hôm nay và ngày maidựa kèo bóng đá hôm nay và ngày maiopqfsizeĐể 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 đá hôm nay và ngày mai đã 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 các loại truy vấn 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 đá hôm nay và ngày mai đượ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 các loại truy vấn khác, nó sẽ trả về 0.

PQPrint

In ra tất cả các hàng và, tùy chọn, tên cột kèo bóng đá hôm nay và ngày maio 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 đá hôm nay và ngày mai còn đúng nữa. Lưu ý rằng nó giả sử tất cả dữ liệu ở định dạng văn bản.

34.3.3. Lấy thông tin kết quả khác

Các chức năng 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 đá hôm nay và ngày mai từ kèo bóng đá hôm nay và ngày mai SQL đã tạoPGRESULT.

char *pqcmdstatus (pgresult *res);

Thông thường đây chỉ là tên của kèo bóng đá hôm nay và ngày mai, 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.PGRESULTXử lý được chuyển choPQClear.

PQCMDTUMPLES

Trả về số lượng hàng bị ảnh hưởng bởi kèo bóng đá hôm nay và ngày mai SQL.

char *pqcmdtuples (pgresult *res);

Hàm này trả về kèo bóng đá hôm nay và ngày mai chuỗi chứa số lượng hàng bị ảnh hưởng bởiSQLCâu kèo bóng đá hôm nay và ngày mai đã tạopgresult. Chức năng 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, Di chuyển, FetchhoặcCopycâu kèo bóng đá hôm nay và ngày mai hoặc mộtthực thicủa kèo bóng đá hôm nay và ngày mai truy vấn đã chuẩn bị có chứaChèn, Cập nhậthoặcXóaTuyên bố. Nếu kèo bóng đá hôm nay và ngày mai đã tạoPGRESULTlà bất cứ điều gì khác,PQCMDTUMPLESTrả về một chuỗi trống. Người gọi kèo bóng đá hôm nay và ngày mai nên giải phóng giá trị trả về trực tiếp.PGRESULTXử lý được chuyển choPQClear.

PQOIDVALUE

Trả về OIDcủa hàng được chèn, nếuSQLkèo bóng đá hôm nay và ngày mai làChènđã chèn chính xác kèo bóng đá hôm nay và ngày mai hàng vào kèo bóng đá hôm nay và ngày mai bảng có OID hoặc Athực thicủa kèo bóng đá hôm nay và ngày mai truy vấn đã chuẩn bị có chứa phù hợpChènTuyên bố. Nếu kèo bóng đá hôm nay và ngày mai, chức năng này trả vềkèo bóng đá hôm nay và ngày mai hợp lệ. Chức năng này cũng sẽ trở lạikèo bóng đá hôm nay và ngày mai hợp lệNếu bảng bị ảnh hưởng bởiChènCâu kèo bóng đá hôm nay và ngày mai không chứa OIDS.

oid pqoidValue (const pgresult *res);
pqoidstatus

Hàm này kèo bóng đá hôm nay và ngày mai được ủng hộPQOIDVALUEvà kèo bóng đá hôm nay và ngày mai an toàn cho luồng. Nó trả về một chuỗi với oid của hàng được chèn, trong khiPQOIDVALUETrả về giá trị OID.

Char *pqoidstatus (const pgresult *res);

34.3.4. Thoát khỏi chuỗi để đưa vào các kèo bóng đá hôm nay và ngày mai SQL

pqescapeliteral
Char *pqescapeliteral (pgconn *Conn, const char *str, size_t length);

pqescapeliteralthoát một chuỗi để sử dụng trong kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai SQL.pqescapeliteralThực hiện thao tác này.

pqescapeliteralTrả về phiên bản thoát củastrTham 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 đá hôm nay và ngày mai còn cần thiết. kèo bóng đá hôm nay và ngày mai cần phải tính một byte bằng 0 và kèo bóng đá hôm nay và ngày mai nên được tính vàolength. (Nếu tìm thấy một byte chấm dứt bằng kèo bóng đá hôm nay và ngày mai trướclengthbyte được xử lý,pqescapeliteraldừ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ế để 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 đá hôm nay và ngày mai 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 Lỗi,pqescapeliteralreturnnullvà kèo bóng đá hôm nay và ngày mai thông báo phù hợp được lưu trữ trongConnĐối tượng.

TIP

Đ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 đá hôm nay và ngày mai đáng tin cậy. Nếu kèo bóng đá hôm nay và ngày mai thì có rủi ro bảo mật: Bạn dễ bị tổn thương vớiHồiSQL InjectionHồiCác cuộc tấn công trong đó các kèo bóng đá hôm nay và ngày mai SQL không mong muốn được đưa vào cơ sở dữ liệu của bạn.

Lưu ý rằng kèo bóng đá hôm nay và ngày mai cần thiết cũng kèo bóng đá hôm nay và ngày mai 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 trongPQExecParamshoặc các thói quen anh chị em của nó.

pqescapeidentifier
71722_71797

pqescapeidentifierthoá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 đá hôm nay và ngày mai sẽ kèo bóng đá hôm nay và ngày mai đượ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.

pqescapeidentifierTrả về phiên bản củastrtham số thoát ra như kèo bóng đá hôm nay và ngày mai đị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 đá hôm nay và ngày mai còn cần thiết. kèo bóng đá hôm nay và ngày mai cần phải tính một byte bằng 0 và kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai trướclengthbyte được xử lý,pqescapeidentifierdừ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 đá hôm nay và ngày mai định danh SQL. kèo bóng đá hôm nay và ngày mai byte chấm dứt cũng được thêm vào.

ON ERROR,pqescapentifierreturnnullvà kèo bóng đá hôm nay và ngày mai thông báo phù hợp được lưu trữ trongConnĐối tượng.

TIP

Như với các chuỗi chữ, để ngăn chặn các cuộc tấn công tiêm SQL, số nhận dạng SQL phải được thoát ra khi chúng được nhận từ một nguồn kèo bóng đá hôm nay và ngày mai đáng tin cậy.

pqescapestringConn
size_t pqescapestringconn (pgconn *Conn,

pqescapestringConnthoát khỏi chuỗi chữ, giống nhưpqescapeliteral. kèo bóng đá hôm nay và ngày mai 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,pqescapestringConnkèo bóng đá hôm nay và ngày mai tạo ra các trích dẫn đơn phải bao quanhPostgreSQLChuỗi nghĩa đen; Chúng nên được cung cấp trong kèo bóng đá hôm nay và ngày mai SQL rằng kết quả được chèn vào.từchỉ kèo bóng đá hôm nay và ngày maio ký tự đầu tiên của chuỗi được thoát ra vàlengthTham số cung cấp số lượng byte trong chuỗi này. kèo bóng đá hôm nay và ngày mai cần phải tính một byte bằng 0 và kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai trướcLEGNbyte được xử lý,pqescapestringConndừng ở số 0; Hành vi như vậy giống nhưstrncpy.)đếnsẽ chỉ vào bộ đệm có thể giữ ít nhất kèo bóng đá hôm nay và ngày mai byte nữa so với giá trị củalength, nếu kèo bóng đá hôm nay và ngày mai thì hành vi kèo bóng đá hôm nay và ngày mai được xác định. Hành vi cũng kèo bóng đá hôm nay và ngày mai được xác định nếuđếntừChuỗi chồng chéo.

NếuERRORtham số kèo bóng đá hôm nay và ngày mai phảinull, sau đó*Lỗiđược đặt thành 0 khi thành công, kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai hợp lệ trong chuỗi nguồn.ConnĐối tượng, có hay kèo bóng đá hôm nay và ngày maiERRORnull.

pqescapestringConnTrả về số byte được viết thànhđến, kèo bóng đá hôm nay và ngày mai bao gồm việc chấm dứt số kèo bóng đá hôm nay và ngày mai.

pqescapestring

pqescapestringlà phiên bản cũ hơn, kèo bóng đá hôm nay và ngày mai 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ớipqescapestringConnpqescapestringkèo bóng đá hôm nay và ngày mai lấyPGConnhoặcERRORtham số. Bởi vì điều này, nó kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai có cách nào để báo cáo các điều kiện lỗi.

pqescapestringCó thể được sử dụng kèo bóng đá hôm nay và ngày mai cách an toàn trong các chương trình máy khách chỉ làm việc với kèo bóng đá hôm nay và ngày maiPOSTGRESQLKết nối tại kèo bóng đá hôm nay và ngày mai thời điểm (trong trường hợp này nó có thể tìm ra những gì nó cần biếtHồiPhía sau hậu trườngxông). Trong các bối cảnh khác, đó là kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai SQL.

Char kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai phần của Abyteatheo nghĩa đen trong kèo bóng đá hôm nay và ngày maiSQLcâu kèo bóng đá hôm nay và ngày mai.pqescapyteaconnEscapes 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ỉ kèo bóng đá hôm nay và ngày maio byte đầu tiên của chuỗi sẽ được thoát ra vàfrom_lengthTham 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 đá hôm nay và ngày mai là kèo bóng đá hôm nay và ngày mai cần thiết cũng như kèo bóng đá hôm nay và ngày mai được tính.)to_lengthTham số trỏ đến kèo bóng đá hôm nay và ngày mai 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ả.

pqescapyteaconnTrả 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 đá hôm nay và ngày mai 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àbyteaHàm đầu vào. kèo bóng đá hôm nay và ngày mai byte chấm dứt cũng được thêm vào.PostgreSQLChuỗi chữ kèo bóng đá hôm nay và ngày mai phải là một phần của chuỗi kết quả.

Khi lỗi, kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai đủ bộ nhớ cho chuỗi kết quả.

pqescapytea

pqescapytealà phiên bản cũ hơn, kèo bóng đá hôm nay và ngày mai dùng nữa củapqescapyteaconn.

Char kèo bóng đá hôm nay và ngày mai dấu *pqescapytea (const kèo bóng đá hôm nay và ngày mai dấu char *từ,

Sự khác biệt duy nhất so vớipqescapyteaconnpqescapyteakèo bóng đá hôm nay và ngày mai lấyPGConnTham số. Vì điều này,pqescapyteaChỉ có thể được sử dụng kèo bóng đá hôm nay và ngày mai cách an toàn trong các chương trình khách hàng sử dụng kèo bóng đá hôm nay và ngày maiPostgreSQLKết nối tại kèo bóng đá hôm nay và ngày mai thời điểm (trong trường hợp này nó có thể tìm ra những gì nó cần biếtMạnhĐằng sau hậu trường). Nócó thể đưa ra kết quả saiNếu được sử dụng trong các chương trình sử dụng nhiều kết nối cơ sở dữ liệu (sử dụngpqescapyteaconnTrong những trường hợp như vậy).

PQUNESCAPHERTEA

Chuyển đổi biểu diễn chuỗi của 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ạibyteaDữ liệu ở định dạng văn bản, nhưng kèo bóng đá hôm nay và ngày mai phải khi truy xuất nó ở định dạng nhị phân.

82217_82298

Thetừtham số chỉ vào kèo bóng đá hôm nay và ngày mai chuỗi như có thể được trả về bởiPQGetValueKhi được áp dụng cho Abyteacột.PQUNESCAPHERTEAChuyể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 đá hôm nay và ngày mai con trỏ cho bộ đệm được phân bổ vớimalloc ()hoặcnulltrên lỗi và đặt kích thước của bộ đệm kèo bóng đá hôm nay và ngày maioto_length. Kết quả phải được giải phóng bằng cách sử dụngPQFreememKhi nó kèo bóng đá hôm nay và ngày mai còn cần thiết nữa.

Chuyển đổi này kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai cần xem xét trích dẫn chuỗi, và vì vậy kèo bóng đá hôm nay và ngày mai cần phảiPGConntham số.