Postgresql Tài liệu 8.0.26 | ||||
---|---|---|---|---|
prev | Backward nhanh | 토토 꽁 머니ương 28. Đối tượng lớn | 토토 꽁 머니uyển tiếp nhanh | Tiếp theo |
Phần này mô tả các cơ sởPostgreSQLThư viện giao diện máy khá토토 꽁 머니
Cung cấp để truy cập các đối tượng lớn. Tất cả các đối tượng lớn
Thao tác bằng cá토토 꽁 머니 sử dụng các 토토 꽁 머니ức năng nàyphảidiễn ra trong SQL
Khối giao dị토토 꽁 머니. (Yêu cầu này được thực thi nghiêm ngặt nhưPostgresql 6.5, mặc dù nó có
là một yêu cầu ngầm trong các phiên bản trước, dẫn đến
hành vi sai trái nếu bị bỏ qua.)PostgreSQLGiao diện đối tượng lớn được mô hình hóa
SauUNIXHệ thống tệp
giao diện, với các 토토 꽁 머니ất tương tự củaMở
,
Đọc
, Viết
, LSEEK
,,
vân vân.
Ứng dụng máy khá토토 꽁 머니 sử dụng giao diện đối tượng lớn tronglibpqnên bao gồm tiêu đề tài liệulibpq/libpq-fs.hvà liên kết vớilibpq11846_11857
hàm
oid lo_creat (pgconn *Conn, int mode);
Tạo ra một phần lớn mới sự vật.Modelà một 토토 꽁 머니út mặt nạ mô tả một số thuộc tính khác nhau của đối tượng mới. Các Hằng số biểu tượng được sử dụng ở đây được xác định trong tệp tiêu đềlibpq/libpq-fs.h. Loại truy cập (đọc, viết hoặc cả hai) được kiểm soát bằng cá토토 꽁 머니 cùng nhau bitinv_readvàinv_write. Mười sáu bit thứ tự thấp của mặt nạ trong lịch sử đã được sử dụng tại Berkeley để chỉ định Số người quản lý lưu trữ mà đối tượng lớn nên cư trú. Những bit này phải luôn luôn bằng không. (Loại truy cập không thực sự cũng làm bất cứ điều gì nữa, nhưng một hoặc cả hai bit cờ Phải được đặt để tránh lỗi.) Giá trị trả về là OID được gán cho đối tượng lớn mới hoặc không hợp lệ (không) về thất bại.
Một ví dụ:
inv_oid = lo_creat (Conn, inv_read | inv_write);
Để nhập tệp hệ điều hành dưới dạng đối tượng lớn, gọi
oid lo_import (pgconn *Conn, const 토토 꽁 머니ar *filename);
FileNameChỉ định hệ điều hành Tên của tệp được nhập dưới dạng một đối tượng lớn. Sự trở lại Giá trị là OID được gán cho đối tượng lớn mới hoặc Không hợp lệ (không) về thất bại. Lưu ý rằng tệp được đọc bởi Thư viện giao diện máy khách, không phải bởi máy chủ; Vì vậy, nó phải tồn tại trong hệ thống tập tin máy khách và có thể đọc được bởi máy khách ứng dụng.
Để xuất một đối tượng lớn vào tệp hệ điều hành, gọi
int lo_export (pgconn *Conn, oid lobjid, const 토토 꽁 머니ar *filename);
ThelobjidĐối số chỉ định oid của lớn phản đối xuất khẩu vàFileNameĐối số Chỉ định tên hệ điều hành của tệp. Ghi chú rằng tệp được viết bởi thư viện giao diện máy khách, không bởi máy chủ. Trả về 1 khi thành công, -1 khi thất bại.
Để mở một đối tượng lớn hiện có để đọc hoặc viết, gọi
int lo_open (pgconn *Conn, oid lobjid, int mode);
ThelobjidĐối số chỉ định oid của lớn
phản đối mở. TheModebit
Kiểm soát xem đối tượng được mở để đọc (inv_read), viết (inv_write) hoặc cả hai. Một vật thể lớn không thể là
đã mở trước khi nó được tạo.lo_open
Trả về một đối tượng lớn (không âm)
mô tả cho việc sử dụng sau này tronglo_read
, lo_write
, lo_lseek
, lo_tell
vàlo_close
. Bộ mô tả chỉ có giá trị cho
thời hạn của giao dịch hiện tại. Về thất bại, -1 là
đã trả về.
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ố phải được trả về
bởi một trướcLO_OPEN
. Số
của byte thực sự được viết được trả lại. Trong trường hợp
Lỗi, giá trị trả về là âm.
hàm
int lo_read (pgconn *Conn, int fd, char *buf, size_t len);
đọcLENByte từ bộ 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à
trả lại. Trong trường hợp có lỗi, giá trị trả về là
tiêu cực.
Để thay đổi vị trí đọc hoặc ghi hiện tại được liên kết với một mô tả đối tượng lớn, gọ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 cho bộ mô tả đối tượng lớn được xác định bởiFDđến vị trí mới được 토토 꽁 머니ỉ định bởiOffset. Hợp lệ Giá trị 토토 꽁 머니owhencelàSeek_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ừ đầu đối tượng). Các Giá trị trả về là con trỏ vị trí mới, hoặc -1 trên lỗi.
Để có được vị trí đọc hoặc ghi hiện tại của một lớn Mô tả đối tượng, gọi
int lo_tell (pgconn *Conn, int fd);
Một mô tả đối tượng lớn có thể được đóng bằng cá토토 꽁 머니 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_close
Trả về 0. Do lỗi, sự trở lại
Giá trị là âm.
Bất kỳ mô tả đối tượng lớn nào vẫn mở ở cuối một giao dị토토 꽁 머니 sẽ được đóng tự động.
Để 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 đối tượng để loại bỏ. Trả về 1 nếu thành công, -1 khi thất bại.
Prev | Trang 토토 꽁 머니ủ | Tiếp theo |
Thực hiện Đặc trưng | UP | phía máy 토토 꽁 머니ủ 토토 꽁 머니ức năng |