返回首页

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

更新日期:2024年09月11日

这个参数被传给所有3 个函数,它指向一个UDF_INIT 结构,被用来在函数之间
传递信息。UDF_INIT 结构成员列在下面。初始化函数应该初始化它想要改变的
任何成员。对一个成员使用缺省值,不改变它。
my_bool maybe_null
如果func()能返回NULL,func_init()应该设置maybe_null 为1。如果任何一个参
数被声明为maybe_null,缺省值是1。
unsigned int decimals
小数位数目。缺省值是在被传给主函数的参数中小数位的最大数目。(例如,如
果函数传递1.11、1.111 和1.1,缺省值将是3,因为1.111 有3 个小数位。
unsigned int max_length
返回结果的最大长度。缺省值不同,取决于函数的结果类型。对字符串函数,缺
省是最长的参数的长度。对整数函数,缺省是21 位。对实数函数,缺省是13 加
上由initid->decimals 指出的小数位数。对数字函数,长度包括任何符号位或小数
点字符。
char *ptr
函数可以自己使用的一个指针。例如,函数能使用initid->ptr 在函数之间传递分
配的内存。在func_init()中,分配内存并将它赋给这个指针:

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1386
initid->ptr = allocated_memory;
说明
在func()和func_deinit()中,使用initid->ptr 并释放内存。

语法格式
SHOW WARNINGS [LIMIT [offset,] row_count]
SHOW COUNT(*) WARNINGS
说明

SHOW WARNINGS 显示由最后一个语句产生的错误,警告和注意信息。当最后一个
使用表的语句没有产生消息时,SHOW WARNINGS 不显示任何消息。相关的SHOW
ERRORS 语句只显示错误信息。参考SHOW ERRORS 语法。

每个使用了表的新语句重置消息列表。

SHOW COUNT(*) WARNINGS 语句显示错误,警告和注意信息的数量,从变量
warning_count 也可以得到相同的值:
SHOW COUNT(*) WARNINGS;
SELECT @@warning_count;

warning_count 的值可能比用SHOW WARNINGS 显示的值大,如果max_error_count
系统变量被设定过小,将无法存储全部信息。

LIMIT 子句同SELECT 语句中使用方法相同。

GBase UP 服务器发回最后一个语句产生的错误,警告和注意信息的数目。
示例
示例1
查看警告信息。
gbase> SHOW WARNINGS;

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 811
+---------+---------+----------------------------------------------------+
| Level | Code | Message |
+---------+---------+----------------------------------------------------+
| Warning | 1051 | (GBA-02DD-0010) Unknown table 'test.no_such_table'|
+---------+---------+----------------------------------------------------+
1 row in set
示例2
max_error_count 系统变量控制能存储的错误,警告和注意信息的最大数目,默认
值为64。用户可以改变该变量的值来改变可存储的信息数目。在下例中,ALTER
TABLE 语句产生了三个警告信息,但是因为max_error_count 值为1,所以只存储
了一个警告。
gbase> SHOW VARIABLES LIKE 'max_error_count';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_error_count | 64 |
+-----------------+-------+
1 row in set

gbase> SET max_error_count=1;
Query OK, 0 rows affected

gbase> SELECT 1 > '6x' FROM t;
+----------+
| 1 > '6x' |
+----------+
| 0 |
+----------+
1 row in set, 2 warnings

gbase> SELECT @@warning_count;
+-----------------+
| @@warning_count |
+-----------------+
| 2 |
+-----------------+
1 row in set

gbase> SHOW WARNINGS;
+-------+------+
| Level | Code |
+-------+------+

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 812
| Note | 1292 |
+-------+------+
+--------------------------------------------------------------+
| Message |
+--------------------------------------------------------------+
| 192.168.10.115:5050 - Truncated incorrect DOUBLE value: '6x' |
+--------------------------------------------------------------+
1 row in set

说明
把max_error_count 设为0,则不存储警告信息。在这种情况下,warning_count 仍然指出已
发生的警告数目,但是不存储任何警告内容。

Codename:
Santiago
#uname -a
Linux gba01 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011
x86_64 x86
_64 x86_64 GNU/Linux

RHEL7.X/CENTOS8.X
#uname -a
Linux gba01 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016
x86_64 x86_64 x86_64 GNU/Linux
#cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)

SUSE
#uname -a
Linux gba01 3.0.76-0.11-default #1 SMP
Fri Jun 14 08:21:43 UTC
2013(ccab990) x86_64 x86_64 GNU/Linux
#cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 3

GBase 8a MPP Cluster 产品手册
3 集群安装升级与卸载
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
44