功能变更与完善(二)
Start with connect by功能完善
在v8.6.2build43R27之前的版本中,start with connect by功能存在不完善,当用户的分级查询中存在重复数据时,即存在Cycle环时不会报错退出,而是在环中反复执行。
新版本对该问题做了修复,当存在重复数据造成Cycle环时会提示报错Cycle exists in connect by clause,可通过增加nocycle关键字在遇到重复数据时终止执行并返回结果。
在中行的CDMO2项目中,客户利用了GBase 8a V 8.6.2版本start with connect by功能的缺陷,通过level条件控制分级查询的层级,如升级新版本则需要进行该部分业务的改造。
日期运算
两个日期数据直接相减,不足一天的部分,从返回0变成返回小数(V8.6.2build43开始)。
gbase> select now(),now()-a, datediff(now(),a) from td;
+---------------------+-------------+-------------------+
| now() | now()-a | datediff(now(),a) |
+---------------------+-------------+-------------------+
| 2020-03-04 08:14:15 | 0.009895833 | 0 |
+---------------------+-------------+-------------------+
如需要判断日期差距,请使用datediff函数,而不是直接相减。
集群状态去掉lock
通过gcadmin查看集群的状态,CLUSTER STATE的状态取值去掉了lock状态。
即使集群的半数以上的管理节点处于OFFLINE/CLOSE情况下,集群状态显示依然会是ACTIVE,此时执行SQL会无法下发,卡住在获取集群状态直至超时报错返回。影响集群运维时的数据库可用性判断。
审计日志归档的event默认不可用
V9.5版本集群的审计日志归档的定时任务中,没有设置该定时任务所属VC(未设置VC_ID),从而无法执行。需要用户自行调整gbase.event表中的VC_ID。如下:
update gbase.event set vc_id='vc00001' where name='import_audit_log';
其中的vc00001要根据你的vc情况决定。如有多个VC,需要自行创建各自的归档event。
HDFS加载文件名包含等号问题
在v8.6.2build43r21~r23版本中,在使用RPC协议进行HDFS上的文件加载时,如文件名中包含有等号“=”则会造成无法加载入库,在之后的版本中已经修复该问题。