返回首页

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

更新日期:2024年09月11日

SUMMARY_STATIO_USER_TABLES 视图显示GBase 8c 内汇聚的命名空间中所有用户
关系表的IO 状态信息。
名称
类型
描述
schemaname
name
该表模式名。
relname
name
表名。
heap_blks_read
numeric
从该表中读取的磁盘块数。
heap_blks_hit
numeric
此表缓存命中数。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1042
名称
类型
描述
idx_blks_read
numeric
从表中所有索引读取的磁盘块数。
idx_blks_hit
numeric
表中所有索引命中缓存数。
toast_blks_read
numeric
此表的TOAST 表读取的磁盘块数(如果存在)。
toast_blks_hit
numeric
此表的TOAST 表命中缓冲区数(如果存在)。
tidx_blks_read
numeric
此表的TOAST 表索引读取的磁盘块数(如果存在)。
tidx_blks_hit
numeric
此表的TOAST 表索引命中缓冲区数(如果存在)。

这个参数指向一个UDF_ARGS 成员,其结构如下:
unsigned int arg_count
参数个数。如果函数有固定数量的参数,在初始化函数中检查这个值。例如:
if (args->arg_count != 1)
{
strcpy(message," func() requires one arguments");
return 1;
}
enum Item_result *arg_type

每个参数的类型。可能的类型值是STRING_RESULT、INT_RESULT 和
REAL_RESULT;

确保参数是所需类型,如果不是,返回错误;

在初始化函数中检查arg_type 数组。例如:
if (args->arg_type[0] != STRING_RESULT
&& args->arg_type[1] != INT_RESULT)
{
strcpy(message," func() requires a string and an integer");
return 1;
}
说明
也可以使用初始化函数把arg_type 成员设置成所需类型。这样GBase 为每个func()调用强

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1387
制将参数转换成所需类型。
例如,
为了指定前两个参数是字符串和整数,
可以在func_init()
中这样做:
args->arg_type[0] = STRING_RESULT;
args->arg_type[1] = INT_RESULT;
char **args
args 将函数的参数传递给初始化函数和主函数。
函数引用第i 个参数的方式如下:

一个STRING_RESULT 类型的参数由一个字符串指针加一个长度给出,
允许
处理任意的长度的数据;

字符串内容可由args->args[i]得到并且字符串长度是args->lengths[i]。不用考
虑字符串是否以空(null)结束;

对于一个INT_RESULT 类型的参数,必须强制转换args->args[i]为一个long
long 值:
long long int_val;
int_val = *((long long*) args->args[i]);

对一个REAL_RESULT 类型的参数,
必须强制转换args->args[i]为一个double
值:
double
real_val;
real_val = *((double*) args->args[i]);

对一个DECIMAL_RESULT 类型的参数,处理方式同STRING_RESULT 一
样。
unsigned long *lengths

在初始化函数中,lengths 数组指出每个参数的最大字符串长度。

对于主函数调用,lengths 为当前正在处理的行的任何字符串参数的实际长
度。

对INT_RESULT 或REAL_RESULT 类型的参数,lengths 仍然包含参数的最
大长度。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1388
char *maybe_null
在初始化函数中,maybe_null 指出每个参数是否允许为空(NULL)。
说明
1 表示允许,0 表示不允许。
char **attributes
每个参数的别名,如果不存在别名,就是参数实际名称,如下示例:
select 1 from t1 group by udf_func(1+2);则args->attributes[0]为”1+2”,select 1+2 as plus from t1
group by udf_func(plus);则args->attributes[0]为“plus”。
unsigned long *attribute_lengths
每个attributes 的长度。

在将客户机应用程序连接到数据库服务器之前,请先配置数据库服务器环境。
有关更多信息,请参阅《UNIX™ 和 Linux™ 平台 GBase
8s 安装指南》或《GBase
8s 管
理员指南》。