返回首页

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

更新日期:2024年09月11日

修改单库数目
单个全文库的数目定义为一个unit,是一个完整独立的全文索引结构,包含了字
典和所有倒排信息。打分、排序也是在该库内计算的,与其他库无关。单库内查
询采用串行的方式。对应配置项参数如下:
100000000

使用 BATCHEDREAD_TABLE 配置参数来启用或禁用在压缩表、行大于一页的表以及
VARCHAR、LVARCHAR 和 NVARCHAR 数据表上的轻扫描。
onconfig.std 值
BATCHEDREAD_TABLE 1

0 = 禁用可变记录长度表上的轻扫描。
1 = 启用可变记录长度表上的轻扫描。
此处将压缩表和行大于一页的表视同可变记录长度。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
除了压缩表、
行大于一页的表和可变记录长度
(比如 VARCHAR、
LVARCHAR 和 NVARCHAR 列)
的表之外,BATCHEDREAD_TABLE 的设置不影响查询优化器是否选择一个包括轻扫描的查询
执行路径。
数据库服务器不在索引上、在系统表上执行轻扫描,对于行包括有下列这些存储属性中任
何一种的大对象行的用户表,也不执行轻扫描:
l blobspace
l smartblob 空间
l 分区 blob。
您可使用 SET ENVIRONMENT 语句的 IFX_BATCHEDREAD_TABLE 环境选项来覆盖当前会话的
BATCHEDREAD_TABLE 配置参数的值。

rstol() 函数将以空终止的字符串转换为 long integer 值。

语法

mint rstol(string, long_int)
char *string;
mlong *long_int;
string
指向以空终止的字符串的指针。
long_int
指向保存转换了的值的 mlong 值的指针。

用法

值的合法范围为 -2,147,483,647 - 2,147,483,647。值 -2,147,483,648 不是有效的,因为
此值为指示空的保留值。

返回代码
=0
转换成功。
!=0
转换失败。

示例
此样例程序在 demo 目录中的 rstol.ec 文件中。
/*

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

* rstol.ec *

The following program tries to convert three strings to longs. It displays the result of each
attempt.
*/

#include

EXEC SQL include sqltypes;

main()
{
mint err;
mlong l;

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

l = 0;
printf("Converting String 'abc':\n");
if((err = rstol("abc", &l)) == 0)
printf("\tResult = %ld\n\n", l);
else
printf("\tError %d in conversion of string #1\n\n", err);

l = 0;
printf("Converting String '2147483646':\n");
if((err = rstol("2147483646", &l)) == 0)
printf("\tResult = %ld\n\n", l);
else
printf("\tError %d in conversion of string #2\n\n", err);

l = 0;
printf("Converting String '':\n");

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

if((err = rstol("", &l)) == 0)
{
if(risnull(CLONGTYPE, (char *) &l))
printf("\tResult = NULL\n\n", l);
else
printf("\tResult = %ld\n\n", l);
}
else
printf("\tError %d in conversion of string #3\n\n", err);

printf("\nRSTOL Sample Program over.\n\n");
}
输出
RSTOL Sample ESQL Program running.

Converting String 'abc':
Error -1213 in conversion of string #1

Converting String '2147483646':
Result = 2147483646

Converting String '':
Result = NULL
RSTOL Sample Program over.