返回首页

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

更新日期:2024年09月11日

ifx_rc_fetch() 函数检索行或集合中元素的值。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 182 -
语法
ifx_rc_fetch(result, rchandle, action, jump)
参数
该函数接受以下参数。
参数
类型
用于
描述
result
元素的数据类型
输出
检索到的值
rchandle
HINFX_RC
输入
行或集合缓冲区的句柄
action
SQL_SMALLINT
输入
元素相对于查找位置的位置。值可能为:

SQL_INFX_RC_ABSOLUTE:: 元素
jump ,
缓冲区中的第一个元素是元素
1

SQL_INFX_RC_CURRENT:当前元


SQL_INFX_RC_FIRST:第一个元素

SQL_INFX_RC_LAST:
最后一个元素

SQL_INFX_RC_NEXT:下一个元素

SQL_INFX_RC_PRIOR:上一个元素

SQL_INFX_RC_RELATIVE:: jump
跳过当前元素的元素

jump
SQL_SMALLINT
输入
当 action 是
SQL_INFX_RC_ABSOLUTE 或
SQL_INFX_RC_RELATIVE 时,偏移
用法
ifx_rc_fetch() 函数检索由 action 和 jump 指定的元素的值,
并在 result 中返回值。
该函数
将查找位置设置为刚获取的值的位置。

gnode 注册机制
gcware 分离后,可以通过参数控制开启gnode 向gcware 注册,使gcware 通过注册
方式监控gnode 状态。注册信息包括:

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

gnode 所属的vcid

gnode 节点注册时需要全局一致性的参数,当前只涉及以下3 个参数:
gbase_segment_size
gbase_compression_str_method、
gbase_compression_num_method

gnode 节点与gcware 连接的sessionid 与nodeid 的对应关系
以上注册信息用于:
1.检测同一vc 内,gnode 的全局一致性参数是否一致,该功能受参数控制。
gcware 无条件保留了第一个注册的gnode 全局一致性参数,
后续gnode 注册时提供
的全局一致性参数全部与gcware 保留的全局一致性参数进行对比,对比一致,该
gnode 注册成功,对比不一致,直接退出,gcware 认为该gnode 不存在。参数检测
情况可以在gnode 的system.log 和gcware 的gcware.log 中保存。
2.通过注册的sessionid 对应session 的心跳保持机制跟踪gnode 节点状态,
该功能受
参数控制。
如果心跳中断,
gcware 感知到session timeout 后设置该gnode 状态异常。
3.注册信息在日志中会有记录。
gnode 的system 日志会记录gcware 返回的全局一致性参数信息;如果gcware 全局
一致性参数检测不一致,会将参数信息记录到gcware 节点的gcware.log 中
控制参数

gnode 配置文件gbase_8a_gbase.cnf

enable_node_regist
是否启用注册机制,默认为0 表示不启用,为1 表示启用。

gbase_check_param_str
参数一致性检测需要检测的参数,默认值为:
gbase_segment_size%gbse_compression_str_method%gbase_compression_num_metho
d
说明
enable_node_regist 为1 时,gnode 启动才会进行一致性检测读取
gbase_check_param_str 中的内容。对于老版本升级上来的情况,默认
不启用注册机制,如需启用,需要手动填写这两个参数。

gcware 配置文件gcware.conf

enable_node_regist

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
159
是否启用注册机制,
默认值为0不启用,
设置为1时启用。
启用后gnode需要向gcware
注册,gcware 才认为gnode 上线,反之gcware 认为gnode 离线。当gcware 开启该
参数后,所有vc 下的gnode 都需要向gcware 注册。

enable_check_param
是否启用参数一致性检测机制,默认值为0 不启用,设置为1 时表示启用。

gcluster 配置文件gbase_8a_gcluster.cnf

enable_node_regist
gcluster 执行sql 失败返回lost connection 时,
gcluster 是否设置gnode 节点服务状态
为离线。默认值为0,会设置gnode 节点服务状态为离线,当设置为1 时,不会设
置gnode 节点服务状态为离线。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
160
注意
默认gcware 通过注册机制监控gnode 状态未开启,gnode 状态检测仍然使
用原来的机制:
通过定时检测、执行gcadmin 和执行sql 是否成功来检测gnode 状态
如果需要开启gnode 注册机制,参数设定上需要注意:gnode、gcware 和
gcluster 都有各自的开启注册机制的参数,各自有各自的含义,需要正确搭配
开启才有意义。
注册机制开启时的参数搭配需注意:
1)可以gnode、gcluster、gcware 的enable_node_regist 同时开启
2)可以选择gnode 和gcware 的enable_node_regist 同时开启,开启后可选择
是否开启gcware 的enable_check_param;
3)可以选择gcluster 和gcware 的enable_node_regist 同时开启
单独开启单一服务的enable_node_regist 无意义,如gnode 注册机制参数打开
后才会有注册信息存在,
gcware 的注册机制参数开启和一致性检查才有意义,
如果gnode 注册机制关闭,gcware 注册机制和一致性检查打开无意义。反之
亦然。
gnode 如果开启了一致性检测机制后修改全局一致性参数,
需要vc 内所有
gnode 停止进程修改。
gcadmin createvc 和gcadmin distribution 命令也会对vc 内所有gnode 进行
全局一致性参数检测。
gcware 对gnode 的session 心跳检测超时时间默认是election_timeout*20,
单位为秒,election_timeout 在gcware.conf 中配置。心跳超时时间也可以在
gnode 配置文件cluster_common.conf 的datanode 模块下sessiontimeout 设置,
不能小于6s。

gbase_buffer_distgrby
取值:小于gbase_heap_large
默认值:16M
说明:distinct 算子buffer,用于保存distinct 操作的中间结果。默认值16M。
修改方式:可使用set 语句修改值也可在配置文件中修改值。适用于global 范围。