Như mọi khi, có một số chức kèo bóng đá euro không phù hợp ở bất cứ đâu.
pqfreemem
Bộ nhớ giải phóng được phân bổ bởilibpq.
void pqfreemem (void *ptr);
Bộ nhớ giải phóng được phân bổ bởilibpq, đặc biệtpqescapyteaconn
, pqescapytea
, PQUNESCAPHERTEA
vàpqnotifyes
. Điều đặc biệt quan trọng là chức kèo bóng đá euro này, thay vìfree ()
, được sử dụng trên Microsoft Windows. Điều này là do việc phân bổ bộ nhớ trong DLL và phát hành nó trong ứng dụng chỉ hoạt động nếu MultiThreaded/một luồng, giải phóng/gỡ lỗi và cờ tĩnh/động là giống nhau cho DLL và ứng dụng.free ()
.
PQConnInfofree
Giải phóng kèo bóng đá euro cấu trúc dữ liệu được phân bổ bởiPQConnDefaults
hoặcPQConnInfoparse
.
11558_11611
Một đơn giảnPQFreemem
sẽ không làm điều này, vì mảng chứa kèo bóng đá euro tham chiếu đến chuỗi công ty con.
pqencryptpasswordconn
Chuẩn bị mẫu được mã hóa của APostgreSQLMật khẩu.
char *pqencryptpasswordconn (pgconn *Conn, const char *passwd, const char *user
Hàm này được dự định sẽ được sử dụng bởi kèo bóng đá euro ứng dụng khách muốn gửi kèo bóng đá euro lệnh nhưthay đổi mật khẩu joe của người dùng 'pwd'
. Thật tốt khi không gửi mật khẩu ClearText ban đầu trong một lệnh như vậy, bởi vì nó có thể được hiển thị trong nhật ký lệnh, màn hình hoạt động, v.v.
ThePasswd
vàuser
Đối số là mật khẩu Cleartext và tên SQL của người dùng.Thuật toán
Chỉ định thuật toán mã hóa để sử dụng để mã hóa mật khẩu. kèo bóng đá euro thuật toán hiện được hỗ trợ làMD5
vàScram-Sha-256
(trên
vàTẮT
cũng được chấp nhận làm bí danh choMD5
, để tương thích với kèo bóng đá euro phiên bản máy chủ cũ). Lưu ý rằng hỗ trợ choScram-Sha-256
đã được giới thiệu trongPostgreSQLPhiên bản 10 và sẽ không hoạt động chính xác với kèo bóng đá euro phiên bản máy chủ cũ. Nếu nhưThuật toán
lànull
, Hàm này sẽ truy vấn máy chủ cho giá trị hiện tại củapassword_encryptionCài đặt. Điều đó có thể chặn và sẽ thất bại nếu giao dịch hiện tại bị hủy bỏ hoặc nếu kết nối đang bận thực hiện một truy vấn khác.password_encryption
chính bạn trước khi gọipqencryptpasswordconn
, và vượt qua giá trị đó làThuật toán
.
Giá trị trả về là một chuỗi được phân bổ bởimalloc
. Người gọi có thể giả sử chuỗi không chứa bất kỳ ký tự đặc biệt nào yêu cầu thoát.pqfreemem
Để giải phóng kết quả khi thực hiện với nó. Trên lỗi, trả vềnull
, và một thông báo phù hợp được lưu trữ trong đối tượng kết nối.
pqencryptpassword
Chuẩn bị hình thức được mã hóa MD5 của APostgreSQLMật khẩu.
char *pqencryptpassword (const char *passwd, const char *user);
pqencryptpassword
là phiên bản cũ hơn, không dùng nữa củaPQENCRYPTPASSWORDCONN
. Sự khác biệt làpqencryptpassword
Không yêu cầu đối tượng kết nối vàMD5
luôn được sử dụng làm thuật toán mã hóa.
PQMakeMpTypgresult
Xây dựng trốngpgresult
Đối tượng có trạng thái đã cho.
15501_15570
Đây làlibpqS chức kèo bóng đá euro nội bộ để phân bổ và khởi tạo trốngpgresult
Đối tượng. Hàm này trả vềnull
Nếu bộ nhớ không thể được phân bổ. Nó được xuất vì một số ứng dụng thấy hữu ích để tạo kèo bóng đá euro đối tượng kết quả (đặc biệt là kèo bóng đá euro đối tượng có trạng thái lỗi).Conn
không phải là null vàstatus
Cho biết lỗi, thông báo lỗi hiện tại của kết nối được chỉ định được sao chép vàopgresult
. Ngoài ra, nếuConn
không phải là NULL, bất kỳ quy trình sự kiện nào được đăng ký trong kết nối được sao chép vàopgresult
. (Họ không nhận đượcPGEVT_RESULTCREATE
cuộc gọi, nhưng xemPQFireresultCreateEvents
.) Lưu ý rằngPQClear
Cuối cùng nên được gọi trên đối tượng, giống như vớiPGRESULT
Được trả về bởilibpqchính nó.
PQFireresultCreateEvents
Hỏa hoạn APGEVT_RESULTCREATE
Sự kiện (xemPhần 33.13) cho mỗi quy trình sự kiện được đăng ký trongPGRESULT
Đối tượng. Trả về không phải cho thành công, không, nếu có bất kỳ thủ tục sự kiện nào thất bại.
17293_17353
TheConn
Đối số được chuyển qua kèo bóng đá euro thủ tục sự kiện nhưng không được sử dụng trực tiếp. Nó có thể lànull
Nếu quy trình sự kiện không sử dụng nó.
Quy trình sự kiện đã nhận đượcPGEVT_RESULTCREATE
hoặcPGEVT_RESULTCOPY
Sự kiện cho đối tượng này không bị bắn nữa.
Lý do chính mà chức kèo bóng đá euro này tách biệt vớiPQMakeMpTypgresult
Có phải là không phù hợp để tạopgresult
và điền vào dữ liệu trước khi gọi kèo bóng đá euro quy trình sự kiện.
PQCopyresult
Tạo một bản sao của Apgresult
Đối tượng. Bản sao không được liên kết với kết quả nguồn theo bất kỳ cách nào vàPQClear
phải được gọi khi bản sao không còn cần thiết. Nếu chức kèo bóng đá euro không thành công,null
được trả về.
pgresult *pqcopyresult (const pgresult *src, int flags);
Điều này không nhằm tạo một bản sao chính xác. Kết quả trả về luôn được đặt vàoPGRES_TUDS_OK
trạng thái và không sao chép bất kỳ thông báo lỗi nào trong nguồn. (Tuy nhiên, nó sao chép chuỗi trạng thái lệnh.)Cờ
Đối số xác định những gì khác được sao chép. Nó là một chút hoặc của một số cờ.PG_COPYRES_ATTRS
Chỉ định sao chép kèo bóng đá euro thuộc tính của kết quả nguồn (định nghĩa cột).pg_copyres_tuples
Chỉ định sao chép kèo bóng đá euro bộ dữ liệu của kết quả nguồn. (Điều này cũng ngụ ý sao chép kèo bóng đá euro thuộc tính.)pg_copyres_noticehooks
Chỉ định sao chép kèo bóng đá euro móc thông báo của kết quả nguồn.pg_copyres_events
Chỉ định sao chép kèo bóng đá euro sự kiện của kết quả nguồn. (Nhưng bất kỳ dữ liệu thể hiện nào được liên kết với nguồn không được sao chép.)
PQSetResultattrs
Đặt kèo bóng đá euro thuộc tính của Apgresult
Đối tượng.
19758_19839
được cung cấpAttdescs
được sao chép vào kết quả. NếuAttdescs
Con trỏ lànull
hoặcnumattribut
nhỏ hơn một, yêu cầu bị bỏ qua và chức kèo bóng đá euro thành công. Nếu nhưres
Đã chứa các thuộc tính, chức kèo bóng đá euro sẽ thất bại. Nếu hàm không thành công, giá trị trả về bằng không.
PQSetValue
Đặt giá trị trường Tuple của Apgresult
Đối tượng.
int pqsetValue (pgresult *res, int tup_num, int field_num, char *value, int len);
Hàm sẽ tự động phát triển mảng Tuples nội bộ của kết quả khi cần thiết. Tuy nhiên,TUP_NUM
Đối số phải nhỏ hơn hoặc bằngPQNTUMPLES
, có nghĩa là hàm này chỉ có thể phát triển mảng Tuples một tuple cùng một lúc. Nhưng bất kỳ trường nào của bất kỳ tuple hiện có có thể được sửa đổi theo bất kỳ thứ tự nào.field_num
Đã tồn tại, nó sẽ bị ghi đè. Nếu nhưlen
là -1 hoặcgiá trị
lànull
, giá trị trường sẽ được đặt thành giá trị null SQL. Thegiá trị
được sao chép vào bộ nhớ riêng của kết quả, do đó không còn cần thiết sau khi chức kèo bóng đá euro trả về. Nếu hàm không thành công, giá trị trả về bằng không.
pqresultalloc
Phân bổ lưu trữ công ty con cho Apgresult
Đối tượng.
void *pqresultalloc (pgresult *res, size_t nbytes);
Bất kỳ bộ nhớ nào được phân bổ với hàm này sẽ được giải phóng khires
được xóa. Nếu hàm không thành công, giá trị trả về lànull
. Kết quả được đảm bảo được căn chỉnh đầy đủ cho bất kỳ loại dữ liệu nào, giống như đối vớimalloc
.
PQLibVersion
Trả lại phiên bảnlibpqĐiều đó đang được sử dụng.
int pqlibversion (void);
Kết quả của chức kèo bóng đá euro này có thể được sử dụng để xác định, tại thời điểm chạy, liệu chức kèo bóng đá euro cụ thể có sẵn trong phiên bản LIBPQ hiện đang được tải hay không. Chức kèo bóng đá euro có thể được sử dụng, ví dụ, để xác định tùy chọn kết nối nào có sẵn trongPQConnectDB
.
Kết quả được hình thành bằng cách nhân số phiên bản chính của thư viện với 10000 và thêm số phiên bản nhỏ. Ví dụ: Phiên bản 10.1 sẽ được trả lại là 100001 và phiên bản 11.0 sẽ được trả lại là 110000.
Trước phiên bản chính 10,PostgreSQLđã sử dụng số phiên bản ba phần trong đó hai phần đầu tiên cùng nhau đại diện cho phiên bản chính. Cho kèo bóng đá euro phiên bản đó,PQLibVersion
Sử dụng hai chữ số cho mỗi phần; Ví dụ: Phiên bản 9.1.5 sẽ được trả lại là 90105 và phiên bản 9.2.0 sẽ được trả về là 90200.
Do đó, với mục đích xác định khả kèo bóng đá euro tương thích tính kèo bóng đá euro, các ứng dụng nên chia kết quả củaPQLibVersion
bởi 100 không 10000 để xác định số phiên bản chính logic. Trong tất cả kèo bóng đá euro chuỗi phát hành, chỉ có hai chữ số cuối cùng khác nhau giữa kèo bóng đá euro bản phát hành nhỏ (bản phát hành sửa lỗi).
Hàm này xuất hiện trongPostgreSQLPhiên bản 9.1, do đó không thể được sử dụng để phát hiện chức kèo bóng đá euro cần thiết trong các phiên bản trước, vì gọi nó sẽ tạo ra một liên kết phụ thuộc vào phiên bản 9.1 trở lên.