返回首页

gbase数据、南大通用产品文档:GBase8sifx_lo_create() 函数

更新日期:2024年09月11日

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
函数不成功;请检测该错误的详尽错误代码。

语法:

元素
用途
关键注意事项
database
指定要检查其一致性的数据
库名称
语法必须符合 Identifier 段;请参阅
《GBase 8s SQL 指南:语法》
chunknum
指定用于指示特定 chunk 的
十进制值
值必须是大于 0 的无符号整数。
Chunk 必须
存在

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 321 -
元素
用途
关键注意事项
frag_dbs
指定包含想要检查其一致性
的分片的 dbspace 名称
Dbspace 必须存在并包含要检查一致性的分
片。
语法必须符合 Identifier 段;请参阅
《GBase 8s SQL 指南:语法》
frag_part
指定要检查分片的分区名。这
会在在同一 dbspace 中创建
的表上有多个分片的情况下
有所帮助
对于使用基于表达或循环法分发计划的分片
表,您可以创建多个分区,这些分区在一个
dbspace 内集合了表或索引的页面。该分区
称为分片分区或分片
logical
pagenum
指定用于指示 tblspace 中
特定页的整数值
值可以表示为无符号整数或以 0x 标识符开
始的十六进制数。值必须是 0 和
16,777,215(包括 0 和 16,777,215)之间
的无符号整数
owner
指定表的所有者
必须指定表的当前所有者。
语法必须符合 Owner Name 段;请参阅
《GBase 8s SQL 指南:语法》
rowid
标识要显示其内容的行的
rowid 。Rowid 是作为
oncheck -pD 输出的一部分进
行显示的。
值必须是 0 和 4,277,659,295(包括 0 和
4,277,659,295)之间的无符号整数。
值可以表示为无符号整数或以 0x 标识符
开始的十六进制数
table
指定想要检查其一致性的表
的名称
执行实用程序时,表应存在。
语法必须符合 Table Name 段;请参阅
《GBase 8s SQL 指南:语法》
tblspacenum 标识要显示其内容的
tblspace
值必须是 0 和 208,666,624(包括 0 和
208,666,624)之间的无符号整数。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 322 -
元素
用途
关键注意事项
值可以表示为无符号整数或以 0x 标识符
开始的十六进制数

-pp 选项具有以下语法变化:
调用
解释
oncheck -pp tblspc lpn 使用 tblspace 号和逻辑页号,
显示逻辑页的内容,

可以指定用于指示要打印页数的可选参数
oncheck -pp tblspc lpn -h
使用 tblspace 号和逻辑页号,只显示逻辑页头
oncheck -pp database:table
rowid
使用数据库名、表名和 GBase 8s 内部 rowid ,显示
逻辑页的内容。可以使用 oncheck -pD 命令获得该内
部 rowid 。该内部 rowid 不是在用 CREATE TABLE
tabname WITH ROWIDS 语句创建的表中指定的序列
rowid 。有关更多信息,请参阅Rowid 的定义

该页内容以 ASCII 格式显示。显示还包括页上slot 表条目数。以下示例显示了oncheck -pp
命令的其他调用:
oncheck -pp stores_demo:orders 0x211 # database:owner.table, # fragment rowid
oncheck -pp stores_demo:gbasedbt.customer,frag_dbspce1 0x211
oncheck -pp 0x100000a 25 # specify the tblspace number and # logical page number
-pP 选项具有以下语法变化:
调用
解释
oncheck -pP chunk# offset pages
使用 chunk 号和偏移量,显示逻辑页的内容。也
可以指定用于指示要打印页的可选参数
oncheck -pP chunk# offset -h
使用 chunk 号和偏移量,只显示逻辑页头

注: chunk 页的输出以十进制格式显示 start 和 length 字段。
以下示例显示使用了 onstat -pP 命令的典型输出:

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

参数说明:DCF 数据路径,该参数不允许修改。
该参数属于POSTMASTER 类型参数,请参考表15-1 中对应设置方法进行设置。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1432
默认值:字符串,DN 数据目录下的dcf_data 目录