欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

34.3. 客户界面

最编程 2024-03-11 17:09:41
...

34.3.9. 截断一个大对象

要将一个大对象截断成一个给定长度,调用:

int lo_truncate(PGcon *conn, int fd, size_t len);

该函数将大对象描述符fd截断为长度len。参数fd必须是已经由前面的lo_open返回的大对象描述符。如果len超过了大对象的当前长度,大对象将会被使用空字节('\0')扩展到指定长度。成功时lo_truncate返回0,失败时返回值为-1。

描述fd的读/写位置不变。

尽管参数len被声明为类型size_tlo_truncate会拒绝超过INT_MAX的长度值。

在处理可能超过2GB大小的大对象时,换用:

int lo_truncate64(PGcon *conn, int fd, pg_int64 len);

该函数和lo_truncate的行为相同,但它能够接受超过2GB的len值。

lo_truncate是从PostgreSQL 8.3开始新的函数,如果该函数运行在一个旧服务器版本上,它将失败并返回-1。

lo_truncate64是从PostgreSQL 9.3开始新的函数,如果该函数运行在一个旧服务器版本上,它将失败并返回-1。