返回首页

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

更新日期:2024年09月11日

XOR 逻辑异或
语法
a XOR b 等价于(a AND (NOT b)) OR ((NOT a) AND b)
操作符说明
当任意一个操作数为NULL 时,返回值为NULL。
对于非NULL 的操作数:
XOR
真(1)
假(0)
真(1)



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


就是说两个值不相同,则异或结果为真,反之,为假。
示例
示例1:操作数不是NULL,真异或真,结果为假,即返回值为0。
gbase> SELECT 1 XOR 1 FROM dual;
+---------+
| 1 XOR 1 |
+---------+
|
0 |
+---------+
1 row in set
示例2:操作数不是NULL,真异或假,结果为真,即返回值为1。
gbase> SELECT 1 XOR 0 FROM dual;
+---------+
| 1 XOR 0 |
+---------+
|
1 |
+---------+
1 row in set
示例3:任意一个操作数为NULL,则结果为NULL。
gbase> SELECT 1 XOR NULL FROM dual;
+-------------+
| 1 XOR NULL
|
+-------------+
|
NULL |
+-------------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
665
1 row in set
gbase> SELECT 0 XOR NULL FROM dual;
+-------------+
| 0 XOR NULL
|
+-------------+
|
NULL |
+-------------+
1 row in set
示例4:a XOR b 等价于(a AND (NOT b)) OR ((NOT a) AND b)。
gbase> SELECT 1 XOR 0 FROM dual;
+---------+
| 1 XOR 0 |
+---------+
|
1 |
+---------+
1 row in set
gbase> SELECT (1 AND (NOT 0)) OR ((NOT 1) AND 0) ;
+------------------------------------+
| (1 AND (NOT 0)) OR ((NOT 1) AND 0) |
+------------------------------------+
|
1 |
+------------------------------------+
1 row in set
示例5:将同一个数异或比较后的结果,再次与该数进行异或比较,则结果为1。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
666
gbase> SELECT 1 XOR 1 XOR 1 FROM dual;
+---------------+
| 1 XOR 1 XOR 1 |
+---------------+
|
1 |
+---------------+
1 row in set

GBase 8s ESQL/C 是 SQL 应用程序编程接口(API),它使您可以直接在 C 程序中嵌
入结构化查询语言(SQL)语句。
GBase 8s ESQL/C 的预处理器 esql 将每个 SQL 语句和特定于 GBase 8s 的所有代码转
换为 C 语言源代码,并启动 C 编译器进行编译它。
ESQL/C 组件
GBase 8s ESQL/C 由以下软件组件构成:
C 函数的 GBase 8s ESQL/C 库,用于访问数据库服务器。
GBase 8s ESQL/C 头文件,提供数据结构、常量以及对 GBase 8s ESQL/C 程序有用的
宏定义。
esql 命令,
它处理 GBase 8s ESQL/C 源代码以创建一个 C 源文件,
并将它传递给 C 编
译器。
finderr 实用程序
(在 UNIX 系统上)
和 GBase 8s Error Messages 实用程序
(Windows
系统上),用于获得特定于 GBase 8s 的错误消息的信息。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 5 -
GBase 8s GLS 语言环境和代码集转换文件,此文件提供了特定语言环境的信息。
有关这些文件的更多信息,请参阅 GBase 8s GLS 用户指南。
用于 Windows 的 ESQL/C 文件
对于 Windows™ 环境,GBase 8s ESQL/C 产品包含下列附加的可执行文件:
Setnet32 实用程序是基于 Windows 的实用程序,用于设置配置文件。
有关更多信息,请参阅 GBase 8s 客户端产品安装指南。
ILOGIN 实用程序是打开带有连接参数字段的对话框的示范程序,它用于测试到数据库服
务器的连接(使用 stores7 数据库)。
有关更多信息,请参阅 GBase 8s 客户端产品安装指南。
ESQLMF.EXE 多字节过滤程序,它将多字节字符串中的转义字符更改为十六进制字符。
这些 GBase 8s ESQL/C 可执行文件位
于 %GBASEDBTDIR%\bin 、%GBASEDBTDIR%\lib
和 %GBASEDBTDIR%\demo 目录下。%GBASEDBTDIR% 变量代表
GBASEDBTDIR 环境变量的值。
ESQL/C 库函数
GBase 8s ESQL/C 库包含一组可用于应用程序的 C 函数。
这些函数可以归为以下几类:
l 数据类型对齐库函数为不同数据类型的计算机独立大小和对齐信息提供支持,
并协助处
理空数据库值。
l 字符和字符串库函数提供基于字符的操作,例如比较和复制。
l DECIMAL 库函数支持通过十进制结构访问 DECIMAL 值。
l 格式化函数使您指定不同数据类型的显示格式。
l DATE 库函数支持存取 DATE 值。
l DATETIME 和 INTERVAL 库函数支持存取通过 datetime 和 interval 结构的值。
l 错误消息函数为获取和格式化特定于 GBase 8s 的错误消息文本提供支持。
l 数据库服务器控制函数使您的应用程序实现例如撤销查询和终止连接的功能。
l INT8 库函数使您能够通过 int8 结构存取 INT8 值。
l 智能大对象库函数提供类似于 BLOB 和 CLOB 数据类型的文件。
创建 ESQL/C 程序
创建 GBase 8s ESQL/C 查询:
要在 C 语言源程序中嵌入 GBase 8s ESQL/C 语句,请执行以下步骤:

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 6 -
定义主变量以存储传输于 GBase 8s ESQL/C 和数据库服务器之间的数据。
通过 SQL 语句访问数据库服务器。
提供 GBase 8s ESQL/C 预处理器和 C 编译器的的伪指令。
使用 esql 命令预处理 GBase 8s ESQL/C 源文件以创建 C 语言源文件和启动 C
编译器。
必要时,改正预处理器和编译器报告的错误,并重复步骤 2。
使用 esql 命令,将编译好的对象代码链接到一个或多个可执行文件。
GBase 8s ESQL/C 源文件包含下列类型的语句:
预处理伪指令
GBase 8s ESQL/C 预处理伪指令创建简单的宏定义,包括 GBase 8s ESQL/C 文件,
并执行附条件的 GBase 8s ESQL/C 编译。
C 预处理伪指令创建宏定义,包括系统和 C 源文件,并执行附条件的 C 编译。
语言语句
GBase 8s ESQL/C 主变量定义存储传输于 GBase 8s ESQL/C 和数据库服务器之间的
数据。
嵌入 SQL 语句以便于数据库服务器通信。
C 语言语句提供程序逻辑。
有关 C 预处理伪指令和 C 语言语句的信息,请参阅 C 编程文本。
GBase 8s ESQL/C 源文件名称可以具有下格式:
esqlc_source.ec
esqlc_source.ecp
GBase 8s ESQL/C 源文件的特定后缀决定了该源文件由 esql 命令编译的默认顺序。.ec
后缀是缺省的后缀。有关 .ecp 后缀和非缺省编译顺序,请参阅 在运行 ESQL/C 预处理
前运行 C 预处理器。

参数说明:cm_server 仲裁延迟基础时长。cm_server 主断连后,仲裁启动计时开始,经
过仲裁延迟时长后,将选出新的cm_server 主。其中仲裁延迟时长由仲裁延迟基础时长、节
点index(server ID 序号)和增量时长共同决定。公式为:仲裁延迟时长=仲裁延迟基础时长
+节点index*仲裁延迟增量时长参数
取值范围:整型,index>0,单位为秒。修改后需要重启cm_server 才能生效。参数修改
请参考表2 进行设置。
默认值:10