返回首页

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

更新日期:2024年09月11日

数据库对象结构导出工具gcdump .................................. 1267

ifx_lo_create() 函数创建新的智能大对象,并打开它用于在 GBase 8s ESQL/C 程序内
的访问。

语法


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 776 -
mint ifx_lo_create(LO_spec, flags, LO_ptr, error)
ifx_lo_create_spec_t *LO_spec;
mint flags;
ifx_lo_t *LO_ptr;
mint *error;
LO_spec
指向包含新的智能大对象的存储特征的 LO-specification 结构的指针。
flags
指定打开新的智能大对象的模式的整数。
LO_ptr
指向新的智能大对象的 LO-pointer 结构的指针。
error
指向包含 ifx_lo_create() 设置的错误代码的整数的指针。

用法

ifx_lo_create() 函数执行下列步骤来创建新的智能大对象:
它创建 LO-pointer 结构,并将指向此结构的指针赋予 LO_ptr 参数。
它为来自 LO-specification 结构 LO_spec 的智能大对象指定存储特征。
如果 LO-specification 结构未包含存储特征(相关联的字段为空),则对于新的
智能大对象,ifx_lo_create() 使用来自继承层级的存储特征。如果 LO_spec 指针为空,则
ifx_lo_create() 函数还使用系统指定的存储特征。
它以 flags 参数指定的访问模式打开新的智能大对象。
在 ifx_lo_create() 成功地完成之后,
flags 参数的标志值指示该智能大对象的模式。

效值包括所有 access-mode 常量,如 表 1所示。它返回标识打开的智能大对象的 LO 文
件描述符。

重要:
在您调用 ifx_lo_create() 函数之前,
您必须调用 ifx_lo_def_create_spec() 函数
来初始化 LO-specification 结构。

GBase 8s 使用调用 ifx_lo_create() 建立的缺省的参数,
来确定后续的操作是否导致对
应的智能大对象锁定和/或记录日志。

每一 ifx_lo_create() 调用都隐含地与当前连接相关联。当此连接关闭时,数据库服务
器释放任何列都不引用的智能大对象(引用计数为零的那些)。

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

如果 ifx_lo_create() 函数成功,则它返回有效的 LO 文件描述符(LO_fd)。然后,
您可使用 LO_fd 来标识在后续的函数调用中,哪个智能大对象来访问,诸如 ifx_lo_read()
和 ifx_lo_write()。然而,LO_fd 仅在当前的数据库连接内有效。

返回代码
有效的 LO 文件描述符
函数成功地创建并打开新的智能大对象。
-1
函数不成功;请检测该错误的详尽错误代码。

可以使用 onstat -b 选项显示有关当前正在使用的缓冲区的信息,
包括缓冲池中常驻页的总
数。
语法:

可用缓冲区的最大数量以 ONCONFIG 文件中 BUFFERPOOL 配置参数的 buffers 字段
进行指定。
onstat -b 命令还提供有关已修改缓冲区的数量、缓冲池中常驻页的总数。可用缓冲区的总
数、可用哈希桶的数目以及以字节表示的缓冲区大小(页大小)的摘要信息。
123 modified, 23 resident, 2000 total, 2048 hash buckets, 2048 buffer size.
有关显示所有缓冲区的信息,请使用onstat -B 命令:打印已使用的缓冲区信息。
输出样本

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 465 -
以下是 onstat -b 命令的输出样本。有关该输出的描述,请参阅 onstat -B 命令:打印已使
用的缓冲区信息。
图: onstat -b 命令输出