返回首页

gbase数据、南大通用产品文档:GBase8sSDS_ALTERNATE 配置参数

更新日期:2024年09月11日

在高可用性集群中,
使用 SDS_ALTERNATE 配置参数来定义在主服务器与 SD 辅助服务器之
间通信的替代方式。
onconfig.std 值
NONE(未配置 SD 辅助服务器替代通信路径。)

在主服务器与 SD 辅助服务器之间,用作替代通信路径的 blobspace 名称。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
如果在主服务器与 SD 辅助服务器之间的网络不可用,
则您设置 SDS_ALTERNATE 配置参数
并创建共享 blobspace 来允许高可用性集群中的主服务器和所有 SD 辅助服务器使用替
代通信路径。 当 SD 服务器即将故障转移并成为主服务器,但 TCP/IP 通信不可用时,使
用 SDS_ALTERNATE 配置参数设置的共享 blobspace 将关闭程序传递到原先的主服务器。
在主服务器和所有 SD 辅助服务器上,设置 SDS_ALTERNATE 配置参数为相同的值。
设置 SDS_ALTERNATE 配置参数之前,您必须在主服务器上创建共享 blobspace。例如,在
主服务器上输入下列命令来创建名为 sds_alt_comm 的 blobspace:
onspaces -c -b sds_alt_comm -g -p -o -s
请运行下列命令来切换到下一个逻辑日志文件,以便启用新创建的 blobspace:
onmode -l
在高可用性集群中的每一 SD 辅助服务器上,
设置 SDS_ALTERNATE 配置参数来指向主服务
器上的 blobspace。
SDS_ALTERNATE sds_alt_comm



sword GCIStmtSetPieceInfo (
void *hndlp,
ub4 type,
GCIError *errhp,
const void *bufp,
ub4 *alenp,
ub1 piece,
const void *indp,
ub2 *rcodep
);

设置分段操作中的分段信息。

参数
输入
/输出


hndlp
输入/输出
绑定或定义句柄
type
输入
句柄的类型
errhp
输出
错误句柄
bufp
输入/输出
当它是IN 绑定变量时,指向包含数据值或片段的存储器的指针;否
则,bufp 是指向存储的指针,用于获取OUT 绑定和定义变量的片段
或值
alenp
输入/输出
一段的长度,不要在执行同一SQL 语句之间更改此参数
piece
输入
有效值为:
•GCI_ONE_PIECE
•GCI_FIRST_PIECE
•GCI_NEXT_PIECE
•GCI_LAST_PIECE 此参数仅用于IN 绑定变量
indp
输入/输出
指示器。指向sb2 值的指针或指向命名数据类型(SQLT_NTY)和
REF(SQLT_REF)的指示符结构的指针,即取决于数据类型,*indp
要么是sb2,要么是void
rcodep
输入/输出
返回代码

GCI_SUCCESS、GCI_ERROR 或GCI_NEED_DATA。



GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 55

语法
IF(expr1,expr2,expr3)
函数说明
如果expr1 为TRUE 则IF()的返回值为expr2,如果expr1 取值为FALSE、0 或
NULL,则返回值为expr3。
IF()的返回值规则同CASE 表达式返回值的规则。
示例
示例1:expre1 的值为FALSE,返回值为expr3。
gbase> SELECT IF(FALSE,2,3) FROM dual;
+-------------+
| IF(FALSE,2,3) |
+-------------+
|
3 |
+-------------+
1 row in set
示例2:expre1 的值为TRUE,返回值为expr2。
gbase> SELECT IF(TRUE,'yes','no') FROM dual;
+--------------------+
| IF(TRUE,'yes','no') |
+--------------------+
| yes
|
+--------------------+
1 row in set
示例3:expr1 为表达式,值为TRUE,返回值为expr2。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
680
gbase> SELECT IF(1<2,'no','yes') FROM dual;
+---------------------------------------+
| IF(1<2,'no','yes')
|
+---------------------------------------+
| no
|
+---------------------------------------+
1 row in set
示例4:expr1 为表达式,值不为TRUE,返回值为expr3。
gbase> SELECT IF(1>2,NULL,'no') FROM dual;
+-------------------+
| IF(1>2,NULL,'no') |
+-------------------+
| no
|
+-------------------+
1 row in set