Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / 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 cách đọc kèo bóng đá.
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ế.

32.3. cách đọc kèo bóng đá

Phần này mô tả các cơ sởcách đọc kèo bóng đáThư viện cách đọc kèo bóng đáphảidiễn ra trong SQLcách đọc kèo bóng đácách đọc kèo bóng đá đố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 cách đọc kèo bóng đá đối tượng lớn tronglibpqnên bao gồm tiêu đềlibpq/libpq-fs.hvà liên kết vớilibpqThư viện.

32.3.1.

hàm

oid lo_creat (pgconn *Conn, int mode);

Tạo một đối tượng lớn mới. Giá trị trả về là OIDkhông hợp lệ(không) về thất bại.Modekhông được sử dụng và bỏ qua nhưcách đọc kèo bóng đá8.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 đối tượng lớn mới. Oid được gán có thểlobjid; Nếu vậy,lobjidkhông hợp lệ(không) sau đóLO_CREATEgán OID không sử dụng (đây làLO_CREAT). Cáckhông hợp lệ(không) trên

LO_CREATElà mới nhưcách đọc kèo bóng đá8.1; Nếu điều nàykhông hợp lệ.

Một ví dụ:

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

32.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ỉ địnhkhông hợp lệ(không)

hàm

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

Cũng nhập một đối tượng lớn mới. Oid được gán có thểlobjid; Nếu vậy,lobjidkhông hợp lệ(không) sau đólo_import_with_oidGán một OID không sử dụngLO_IMPORT). Giá trị trả về là OIDkhông hợp lệ(không) về thất bại.

lo_import_with_oidlà mới nhưcách đọc kèo bóng đá8.4 và sử dụngLO_CREATENội bộ là mớikhông hợp lệ.

32.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ỉ địnhFileNameĐối số chỉ định hoạt động

32.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);

ThelobjidĐối số chỉ địnhModeĐiều khiển bit xem đối tượng có được mở khônginv_read), Viếtinv_write) hoặc cả hai. (Những biểu tượ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

cách đọc kèo bóng đá 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 bộ 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ế độ cách đọc kèo bóng đá dịch cho thông thườngChọnlệnh.

Một ví dụ:

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

32.3.5.

hàm

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

Writeslenbyte từBUFđến mô tả đối tượng lớnFD. TheFDĐối sốlo_open. Số lượng byte thực sự được viết

32.3.6.

hàm

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

đọclenbyte 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à

32.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ển con trỏ vị trí hiện tại choFDĐến vị trí mới được chỉ định bởiOffset. Các giá trị hợp lệ chowhenceSeek_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). Giá trị trả về

32.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, giá trị trả về là âm.

32.3.9. Cắt ngắn một đối tượng lớn

Để cắt một đối tượng lớn thành một độ dài nhất định, gọi

int lo_truncate (pgcon *Conn, int fd, size_t len);

Cắt ngắn mô tả đối tượng lớnFDto Longlen.FDĐối số phải cólo_open.lenlớn hơn hiện tại

Tệp bù không được thay đổi.

Khi thành côngLO_TRUNCATETrả về

LO_TRUNCATElà mới nhưcách đọc kèo bóng đá8.3; Nếu điều này

32.3.10.

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

int lo_close (pgconn *Conn, int fd);

WHEREFDlà một đối tượng lớnLO_OPEN.lo_closeTrả về

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

32.3.11.

Để 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