返回首页

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

更新日期:2024年09月11日

ifx_int8copy() 函数将一个 int8 结构复制至另一个。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 720 -
语法
void ifx_int8copy(source, target)
ifx_int8_t *source;
ifx_int8_t *target;
source
指向包含要复制的源 int8 值的 int8 结构的指针。
target
指向目标 int8 结构的指针。
ifx_int8copy() 函数不返回状态值。要确定该复制操作是否成功,请查看 target 参数
指向的 int8 结构的内容。

示例
demo 目录中的文件 int8copy.ec 包含下列样例程序。
/*
* ifx_int8copy.ec *

The following program copies one INT8 number to another.
*/

#include

EXEC SQL include "int8.h";

char string1[] = "-12,888,999,555,333";
char result[41];

main()
{
mint x;
ifx_int8_t num1, num2;

printf("IFX_INT8COPY Sample ESQL Program running.\n\n");


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 721 -
printf("String = %s\n", string1);
if (x = ifx_int8cvasc(string1, strlen(string1), &num1))
{
printf("Error %d in converting string1 to INT8\n", x);
exit(1);
}
printf("Executing: ifx_int8copy(&num1, &num2)\n");
ifx_int8copy(&num1, &num2);
if (x = ifx_int8soasc(&num2, result, sizeof(result)))
{
printf("Error %d in converting num2 to string\n", x);
exit(1);
}
result[40] = '\0';
printf("Destination = %s\n", result);

printf("\nIFX_INT8COPY Sample Program over.\n\n");
exit(0);
}

输出
IFX_INT8COPY Sample ESQL Program running.

String = -12,888,999,555,333
Executing: ifx_int8copy(&num1, &num2)
Destination = -12888999555333
IFX_INT8COPY Sample Program over.

您可使用 RETURN 语句来从 SPL 例程内执行任何外部函数。下图展示在 SPL 程序的
RETURN 语句中使用的外部函数。
图: 从 SPL 例程内执行外部函数的 RETURN 语句。
CREATE FUNCTION c_func() RETURNS int
LANGUAGE C;

CREATE FUNCTION spl_func() RETURNS INT;
RETURN(c_func());
END FUNCTION;

EXECUTE FUNCTION spl_func();
当您执行 spl_func() 函数时,调用 c_func() 函数,且 SPL 函数返回外部函数返回的值。

GBase 8s 通过数据存储加密保证数据存储的安全性。GBase 8s 的数据存储
加密采用库内加密的方式,在数据库管理系统的内核存储引擎级进行数据加解

GBase 8s V8.8 技术白皮书
南大通用数据技术股份有限公司
第31页
密处理,从而对于合法用户来讲是完全透明的,因此也称为透明加密。
现有存储加密包括如下技术特点:

透明加密:存储加密由数据库内核在后端安全存储引擎中实现,对于
合法用户来说完全透明,不影响合法数据库用户的前端操作,不存在
功能损失;

硬件加密:通过集成国家密码管理局审批的密码卡,为基于共享存储
的数据库集群提供高强度的加密函数及有效的密钥管理;

PCI/PCI-E 标准接口;

对称密码算法SM1;

加解密运算速度快(大于1000Mbps)。

完善的密钥保护:采用多级密钥管理机制,主密钥存储在安全硬件之
内,正常运行情况下密钥不以明文方式出现在加密卡外;

加密数据无膨胀:加密后密文与加密前明文的大小相同,防止了密文
膨胀的问题。
由于采用了较为合理的优化机制,GBase 8s 存储加密功能的综合性能衰减
低于15%。