返回首页

gbase数据、南大通用产品文档:GBase8a18:14:

更新日期:2024年09月11日

node (172.168.83.14)
check backup begin


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 784 -

ifx_lo_readwithseek() 函数执行搜寻操作,
然后从打开的智能大对象读取指定字节数的
数据。

语法
mint ifx_lo_readwithseek(LO_fd, buf, nbytes, offset, whence, error)
char *buf;
mint nbytes;
ifx_int8_t *offset;
mint whence;
mint *error;
LO_fd
从其读取的智能大对象的 LO 文件描述符。
buf
指向包含 ifx_lo_readwithseek() 从智能大对象读取的数据的字符缓冲区的指针。
nbytes
以字节计的 buf 字符缓冲区的大小。此值不可超过 2 GB。
offset
指向从起始搜索位置的 8 字节整数(INT8)偏移量的指针。
whence
标识起始搜寻位置的 mint 值。
error
指向包含 ifx_lo_readwithseek() 设置的错误代码的 mint 的指针。

用法
ifx_lo_readwithseek() 函数从 LO_fd 文件描述符标识的打开的智能大对象读取 nbytes
的数据。

读取始于 offset 和 whence 参数指示的 LO_fd 的搜寻位置处,如下:
whence 参数标识从其开启搜寻的位置。
有效值包括 locator.h 头文件定义的下列常量。
Whence 常量
起始搜寻位置

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 785 -

LO_SEEK_SET
智能大对象的起始
LO_SEEK_CUR
智能大对象中的当前搜寻位置
LO_SEEK_END
智能大对象的末尾
offset 参数标识以字节计的偏移量,

(whence 参数指定的)
起始搜寻位 置,
至设置的搜寻位置。

该函数将此数据读取至 buf 指向的用户定义的缓冲区内。buf 缓冲区的大小必须小于
2 GB。要读取大于 2 GB 的智能大对象,请在 2-GB chunk 中读取它们。

返回代码
>=0
函数已从智能大对象读取至 buf 字符缓冲区内的字节数。
-1
函数不成功;请检测 error 的详尽错误代码。

调用带有 compression purge_dictionary 初始命令的 admin() 或 task() 函数来删除所有不
活动的压缩字典,或删除在指定的日期之前为压缩的表或分片创建的所有不活动的压缩字
典。在您删除为该表和分区创建的任何压缩字典之前,必须解压缩表和分片。
语法:


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 816 -

用法
在对表和分片执行 purge_dictionary 操作之前,您必须:
l 解压缩表和分片。
当您解压缩表或分片时, GBase 8s 标记该表或分片的字典为不活动的。
l 请确保 Enterprise Replication 函数不需要该压缩字典。
l 归档包含带有压缩字典的表或分片的任何 dbspace,即使您已经解压缩该表或分片
中的数据,且该字典不再是活动的。
compression purge_dictionary 命令删除所有压缩字典。
带有日期作为第二个参数的 compression purge_dictionary 命令删除在指定的日期之前以及
那一天创建的所有压缩字典。
您可根据您的语言环境和环境使用可转换到 DATE 日期格式
的任何格式的日期。例如,您可指定 03/29/2009、03/29/09 或 Mar 29, 2009。
您还可通过调用以 table 或 fragment 为初始命令,且以 purge_dictionary 为下一个参数的
admin() 或 task() 命令,删除特定的压缩字典。
您不可删除为索引创建的压缩字典。当删除这些索引时,数据库服务器移除这些压缩字典。

下列命令告诉 GBase 8s 移除在 2009 年 7 月 8 日之前和那一天创建的所有字典:
EXECUTE FUNCTION task("compression purge_dictionary", "07/08/2009");
下列命令告诉 GBase 8s 移除 insurance 数据库中名为 auto 的表的不活动字典,该数据库
的所有者为 tjones。
EXECUTE FUNCTION task("table purge_dictionary", "auto", "insurance", "tjones");