返回首页

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

更新日期:2024年09月11日

ifx_lo_specset_def_open_flags() 函数为智能大对象设置缺省的打开标志。

语法
mint ifx_lo_specset_def_open_flags(LO_spec, flags)

ifx_lo_create_spec_t *LO_spec;

mint flags;
LO_spec
指向在其中设置缺省的打开标志的 LO-specification 结构的指针。
flags
表示智能大对象的缺省的打开标志的 mint 值。

用法
此函数的最常用用法是,
是指定总是通过使用未缓冲的 I/O 来打开智能大对象。
此函
数还可用于为智能大对象提供任何所需要的缺省的打开标志。在后来任何时刻打开该智能
大对象时,都可使用所提供的标志,除非在打开时刻显式地重新了。
返回代码
0
函数成功。
-1
函数不成功。

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


示例
/* use unbuffered I/O on all opens for this LO */

ret = ifx_lo_specset_def_open_flags(lospec, LO_NOBUFFER);

对每一个想在SQL 语句中使用的函数(假设函数名为func),应该定义对应的C
(或C++ ,C++函数声明要加上extern
"C ")函数,该函数满足以下规则:
func()(必需)
主函数。这是计算函数结果的地方,每行调用一次。SQL 类型与C/C++函数返回
类型的对应关系如下:
表5- 194 SQL 类型与C/C++函数返回类型的对应关系
SQL 类型
C/C++ 类型
STRING
char *
INTEGER
long long
REAL
double
func_init()(必需)
func()的初始化函数,只在开始调用一次,它可用于:

检查传到func()的参数个数;

检查参数类型是否正确或者当主函数被调用时将参数强制转换成需要的类
型;

分配主函数所需的内存;

指定返回结果的最大长度;

指定返回REAL 类型的函数的最大小数位;

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1392

指定结果是否允许为NULL。
func_deinit()(可选)
func()的结束函数,
只在所有行结束后调用一次,
它可用于释放初始化函数分配的
内存。
说明

当一条SQL 语句调用func()时,GBase 调用初始化函数func_init(),执行所需的初
始化工作,例如参数检查或内存分配。

如果func_init()返回一个错误,SQL 语句返回一条错误消息同时不会调用主函数和
结束函数。否则,为每行调用主函数func()一次。

在所有行被处理完后,调用结束函数func_deinit(),执行必要的清理工作。
注意
所有函数必须是线程安全的(不仅是主函数,还有初始化和结束函数)。不允许
在函数中改变全局共享或静态的变量。如果需要内存,应该在func_init()中分
配它并且在func_deinit()中释放它。

使用 -C 命令显示有关 B-tree 扫描程序子系统和每个 B-tree 扫描程序线程的信息。
语法:

以下选项可用于 onstat -C 命令并且可以合并:
prof
打印系统和每个 B-tree 扫描程序线程的概要文件信息。这是缺省选项。
hot
以要清除的顺序打印 hot 列表索引键
part
打印具有索引统计信息的所有分区
clean
打印已清除或需要清除的所有分区的信息
range
打印通过使用索引范围扫描所节约的页进程数
map
为 alice 清除方法的每个索引显示了当前的 bitmap
alice
显示了 alice 清除方法选项的效率
all
打印所有 onstat -C 选项
使用 prof 选项示例输出
图: 带 prof 选项的 onstat -C 命令输出

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

使用 prof 选项输出描述
Id
BTSCANNER ID
Prio
BTSCANNER 当前的优先级
Partnum
当前正在工作线程的索引分区号
Cmd
此线程当前正在处理的命令
使用 hot 选项示例输出
图: 带有 hot 选项的 onstat -C 命令输出

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

使用 hot 选项输出的描述
Partnum
索引的分区号
Key
索引键
Hits
Hit 计数器的当前值
*
指示在 hot 列表持续时,该分区被清除
使用 part 选项示例输出
图: onstat -C part 命令输出


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 471 -
使用 part 选项输出描述
Partnum
索引的分区号
Key
索引键
Positions
索引的读取数
Compress
页压缩数
Split
已发生分割的数量
C
指示分区正忙于被清除
N
索引分区不再具有清除资格
使用 clean 选项示例输出
图: 带有 clean 选项的 onstat -C 命令输出

使用 clean 选项输出描述
Partnum
索引的分区号
Key
索引键
Dirty Hits

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 472 -
Dirty 页被扫描的次数
Clean Time
总耗时,以秒为单位
Pg Examined
被 btscanner 线程审查的页数
Items Del
从该索引移除的项的数量
Pages/Sec
每秒审查的页数
C
指示分区正在忙于被清除
N
索引分区不再具有清除的资格
示例输出
图: onstat -C range

输出描述
Partnum
分区号
Key
索引键
Low
范围扫描的下限
High
索引扫描的上限
Size
索引的页大小
Saving
保存相对完整扫描的时间的百分比

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 473 -
C
指示分区正在忙于被清除
N
索引分区不再有清除资格
输出示例
图: onstat -C map

输出描述
Partnum
分区号
Key
索引键
Map
Alice bitmap
输出示例
图: onstat -C alice

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

输出描述
Partnum
索引的分区号
Mode
当前分区的 alice 模式
BM_Sz
向 bitmap 分配的大小
Used_Pg
索引的页大小(已使用)
Dirty_Pg
Dirty 页的数量
# I/O
读取的页数
Found
在读取中查找到的 dirty 页数量
Eff
Bitmap 的效率
Adj
Alice 效率水平分区不充分并被调节的次数

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