返回首页

gbase数据、南大通用产品文档:GBase8s配置profilecm2环境变量文件

更新日期:2024年09月11日

[root@CM2 ~]# cd /home/gbasedbt/
[root@CM2 gbasedbt]# su gbasedbt
[gbasedbt@CM2 ~]$ vim profile.cm2
内容如下:
export GBASEDBTDIR=/opt/GBASE/gbase
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.cm2
export PATH=/opt/GBASE/gbase/bin:$PATH
export DB_LOCALE=zh_CN.GB18030-2000
export CLIENT_LOCALE=zh_CN.GB18030-2000
export GL_USEGLU=1
为了gbasedbt用户在登录后自动应用这些环境变量,可以修改.bash_profile文件,在文
件后添加如下内容:
source /home/gbasedbt/profile.cm2

ifx_int8cmp() 函数比较两个 int8 类型数值。
语法
mint ifx_int8cmp(n1, n2)
ifx_int8_t *n1;
ifx_int8_t *n2;
n1
指向包含要比较的第一个数值的 int8 结构的指针。
n2
指向包含要比较的第二个数值的 int8 结构的指针。

返回代码
-1
第一个值小于第二个值。
0
两个值相同。

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

1
第一个值大于第二个值。
INT8UNKNOWN
有的值为空。

示例
demo 目录中的文件 int8cmp.ec 包含下列示例程序。
/*
* ifx_int8cmp.ec *
The following program compares INT8t types and displays
the results.
*/

#include

EXEC SQL include "int8.h";

char string1[] = "-999,888,777,666";
char string2[] = "-12,345,678,956,546";
char string3[] = "123,456,780,555,224,456";
char string4[] = "123,456,780,555,224,456";
char string5[] = "";

main()
{
mint x;
ifx_int8_t num1, num2, num3, num4, num5;

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

if (x = ifx_int8cvasc(string1, strlen(string1), &num1))
{

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

printf("Error %d in converting string1 to int8\n", x);
exit(1);
}
if (x = ifx_int8cvasc(string2, strlen(string2), &num2))
{
printf("Error %d in converting string2 to int8\n", x);
exit(1);
}
if (x = ifx_int8cvasc(string3, strlen(string3), &num3))
{
printf("Error %d in converting string3 to int8\n", x);
exit(1);
}
if (x = ifx_int8cvasc(string4, strlen(string4), &num4))
{
printf("Error %d in converting string4 to int8\n", x);
exit(1);
}
if (x = ifx_int8cvasc(string5, strlen(string5), &num5))
{
printf("Error %d in converting string5 to int8\n", x);
exit(1);
}
printf("num1 = %s\nnum2 = %s\n", string1, string2);
printf("num3 = %s\nnum4 = %s\n", string3, string4);
printf("num5 = %s\n", "NULL");
printf("\nExecuting: ifx_int8cmp(&num1, &num2)\n");
printf(" Result = %d\n", ifx_int8cmp(&num1, &num2));
printf("Executing: ifx_int8cmp(&num2, &num3)\n");
printf(" Result = %d\n", ifx_int8cmp(&num2, &num3));
printf("Executing: ifx_int8cmp(&num1, &num3)\n");
printf(" Result = %d\n", ifx_int8cmp(&num1, &num3));
printf("Executing: ifx_int8cmp(&num3, &num4)\n");

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

printf(" Result = %d\n", ifx_int8cmp(&num3, &num4));
printf("Executing: ifx_int8cmp(&num1, &num5)\n");
x = ifx_int8cmp(&num1, &num5);
if(x == INT8UNKNOWN)
printf("RESULT is INT8UNKNOWN. One of the INT8 values in null.\n");
else
printf(" Result = %d\n", x);
printf("\nIFX_INT8CMP Sample Program over.\n\n");
exit(0);
}
输出
IFX_INT8CMP Sample ESQL Program running.

Number 1 = -999,888,777,666
Number 2 = -12,345,678,956,546
Number 3 = 123,456,780,555,224,456
Number 4 = 123,456,780,555,224,456
Number 5 =

Executing: ifx_int8cmp(&num1, &num2)
Result = 1
Executing: ifx_int8cmp(&num2, &num3)
Result = -1
Executing: ifx_int8cmp(&num1, &num3)
Result = -1
Executing: ifx_int8cmp(&num3, &num4)
Result = 0
Executing: ifx_int8cmp(&num1, &num5)
RESULT is INT8UNKNOWN. One of the INT8 values in null.
IFX_INT8CMP Sample Program over.

PLOAD_LO_PATH 环境变量允许您指定智能大对象句柄的路径名(它标识如 BLOB 和
CLOB 数据类型这样的智能大对象的位置)。

pathname 指定智能大对象句柄的目录。
如果未设置 PLOAD_LO_PATH,那么缺省目录为 /tmp。
有关更多信息,请参阅 GBase 8s High-Performance Loader 用户指南。