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 không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản không được hỗ trợ của soi kèo bóng đá truoctran.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

29.3. soi kèo bóng đá truoctran

Phần này mô tả các cơ sởsoi kèo bóng đá truoctranThư viện soi kèo bóng đá truoctranphảidiễn ra trong SQLsoi kèo bóng đá truoctran 6.5, mặc dù nó cósoi kèo bóng đá truoctransoi kèo bóng đá truoctran đối tượng lớn được mô hình hóaUNIXHệ thống tệpMở, đọc, Viết, LSEEK,,

Ứng dụng máy khách sử dụng soi kèo bóng đá truoctran đối tượng lớn tronglibpqnên bao gồm tiêu đềlibpq/libpq-fs.hvà liên kết vớilibpqThư viện.

29.3.1.

hàm

oid lo_creat (pgconn *Conn, int mode);

Tạo ra một phần lớn mớiModekhông được sử dụng và bỏ qua nhưsoi kèo bóng đá truoctran8.1; Tuy nhiên, choinv_read, inv_writehoặcinv_read | inv_write.libpq/libpq-fs.h.)

Một ví dụ:

inv_oid = lo_creat (Conn, inv_read | inv_write);

hàm

oid lo_create (pgconn *Conn, oid lobjid);

cũng tạo ra một cái mớilobjid; Nếu vậy, thất bại xảy ralobjidlà không hợp lệ (không)LO_CREATEgán một không sử dụngLO_CREAT). Giá trị trả về là OID

LO_CREATElà mới nhưsoi kèo bóng đá truoctran8.1; Nếu điều này

Một ví dụ:

inv_oid = lo_create (Conn, mong muốn_oid);

29.3.2.

Để nhập tệp hệ điều hành dưới dạng đối tượng lớn,

oid lo_import (pgconn *Conn, const char *filename);

FileNameChỉ định hệ điều hành

29.3.3.

Để xuất một đối tượng lớn vào tệp hệ điều hành,

int lo_export (pgconn *Conn, oid lobjid, const char *filename);

ThelobjidĐối số chỉ định oid của lớnFileNameĐối số Chỉ định tên hệ điều hành của tệp. Ghi chú

29.3.4.

Để mở một đối tượng lớn hiện có để đọc hoặc viết,

int lo_open (pgconn *Conn, oid lobjid, int mode);

Thelobjid15469_15536Modebitinv_read), Viết (inv_write) hoặc cả hai. (Những hằng số tượng trưng nàylibpq/libpq-fs.h.) Một đối tượng lớn không thểLO_OPENTrả về một đối tượng lớn (không âm)lo_read, lo_write, lo_lseek, LO_TELLlo_close. Bộ mô tả chỉ có giá trị cho

soi kèo bóng đá truoctran chủ hiện không phân biệt giữa các chế độinv_writeinv_read | inv_write: bạn được phép đọc từinv_readmột mình: vớiinv_readBạn không thể viết trên mô tả vàlo_openđã được thực thi,inv_writeTrả về dữ liệu phản ánh tất cả các ghiserializableso vớiĐọc cam kếtChế độ soi kèo bóng đá truoctran dịch cho thông thườngChọnlệnh.

Một ví dụ:

inv_fd = lo_open (Conn, inv_oid, inv_read | inv_write);

29.3.5.

hàm

int lo_write (pgconn *Conn, int fd, const char *buf, size_t len);

Writeslenbyte từBUFđến bộ mô tả đối tượng lớnFD. TheFDĐối số phải được trả lạiLO_OPEN. Số

29.3.6.

hàm

int lo_read (pgconn *Conn, int fd, char *buf, size_t len);

đọclenbyte từ mô tả đối tượng lớnFDthànhBUF. TheFDĐối số phải được trả lại bởi trước đóLO_OPEN. Số lượng byte thực sự đọc là

29.3.7.

Để thay đổi vị trí đọc hoặc ghi hiện tại được liên kết với

int lo_lseek (pgconn *Conn, int fd, int offset, int whence);

Hàm này di chuyểnfdđến vị trí mớiOffset. Hợp lệwhenceSeek_set(tìm kiếm từ bắt đầu đối tượng),Seek_cur(tìm kiếm từ vị trí hiện tại) vàSeek_end(tìm kiếm từ cuối đối tượng). Các

29.3.8.

Để có được vị trí đọc hoặc ghi hiện tại của một lớn

int lo_tell (pgconn *Conn, int fd);

Nếu có lỗi,

29.3.9.

Một mô tả đối tượng lớn có thể được đóng bằng cách gọi

int lo_close (pgconn *Conn, int fd);

WHEREFDlà một mô tả đối tượng lớn được trả về bởiLO_OPEN. Về thành công,lo_closeTrả về 0. Do lỗi, sự trở lại

Bất kỳ mô tả đối tượng lớn nào vẫn mở ở cuối

29.3.10.

Để loại bỏ một đối tượng lớn khỏi cơ sở dữ liệu, gọi

int lo_unlink (pgconn *Conn, oid lobjid);

ThelobjidĐối số chỉ định oid của lớn