VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

Vastbase V2.2 Build 15(Patch No.2)

发布日期

2024年3月13日

升级方式

VPatch工具升级。可参考使用VPatch进行版本控制

commit 标识:18861

新特性

SQL Server兼容性

SQL Server兼容模式下支持时间函数YEAR()

MySQL兼容性

GUC参数lower_case_column_names增加了控制SELECT LIST中对于引用的别名的大小写敏感性的功能。当该参数设置为0时,SELECT LIST中对于引用的别名也是大小写敏感的,设置为1时则不敏感。

PostgreSQL兼容性

PostgreSQL兼容模式新增支持以下函数:

  • JSONB_PATH_QUERY_FIRST:在一个给定的JSON中根据指定的路径获取值,并返回第一个匹配的值,如果没有结果则返回NULL。

  • JSONB_OBJECT_AGG:该函数用于返回一个由一组键值对组成的JSON对象。

插件

新增TDS_FDW插件:TDS_FDW是一个外部数据封装器(Foreign Data Wrapper,FDW),它允许数据库连接到支持TDS(Tabular Data Stream)协议的外部数据库,如SQL Server和Sybase。

使用限制

使用PL/Python实现自定义过程语言时,禁止使用plpy模块。

行为变更说明

模块变更项变更前变更后注意事项
SQL Server兼容模式时间字段是否支持写入AD、BC时间字段支持写入AD、BC。时间字段不支持写入AD、BC。需排查业务中涉及AD、BC的时间字段进行修改。
逻辑复制创建订阅端增加选项用于是否忽略conninfo消息订阅端创建订阅后,会自动更新pg_subscription里的链接信息。允许订阅端是否可以忽略conninfo消息,避免更新pg_subscription里的链接信息。在with 子句中设置ignoreconninfomsg=true后,如需通过alter subscription语法修改ignoreconninfomsg=false,需要先关闭订阅端再开启,订阅端的连接信息才会被修改。

缺陷修复

GUC参数

【1038687】【严重】修复了behavior_compat_options参数的选项中配置了proc_outparam_override,导致定时任务创建失败的问题。

安全

【1039857】【严重】修复了升级环境开启vastabse_login_info参数后,当pg_vastbase_login_info数量较多时,登录时间过长的问题。

逻辑复制

【1037245】【严重】修复了使用逻辑复制进行数据同步,调整订阅属性后导致数据无法同步的问题。

工具

【1038717】【严重】修复了参数behavior_compat_options设置为proc_outparam_override时,导致vb_dump执行失败的问题。

【1038299】【严重】修复了gs_probackup基于时间点恢复后,启动数据库失败的问题。

【1037887】【一般】修复了MySQL兼容模式下,使用vb_dump导出表定义时,对default处理有误的问题。

【1037502】【一般】修复了使用vb_dump导出带有delayed关键字的表时,系统提示语法错误的问题。

SQL语法

【1039722】【致命】修复了Oracle兼容模式下,在hash分区表中插入数据时,数据库宕机的问题。

【1037578】【致命】修复了preparedecodealter table同时使用时的数据库日志报错cached plan must not change result type

【1040006】【严重】修复了查询快照数据时,报错表snapshot.snapshot不存在的问题。

【1039857】【严重】修复了升级环境开启vastabse_login_info参数后,当pg_vastbase_login_info数量较多时,登录时间过长的问题。

【1038460】【严重】修复了SQL查询报错attribute 20 has wrong type

【1036190】【严重】 修复了通过alter table ... add/modify/change ... first/after ...;指定位置增加/更新列时,列序号与对应的统计信息不一致,查询统计信息时,数据库宕机的问题。

【1037512】【一般】修复了checktable没有加入到gram.y的reserved_keyword的问题。

数据库对象

【1039264】【致命】修复了主库的表上含有AccessExclusiveLock时,在备库对该表进行查询时报错的问题。

【1039764】【严重】修复了查看pg_settings系统表报错的问题。

【1039085】【严重】修复了MySQL兼容模式下,带函数的list分区表无法创建default分区的问题。

【1038798】【严重】修复了等价SQL查询结果不一致的问题。

【1038035】【严重】修复了type对象的构造函数效率低的问题。

【1038236】【一般】修复了使用LEVEL等关键字创建视图时,调用视图定义失败的问题。

【1038235】【一般】修复了使用sys_connect_by_path函数嵌套创建视图时,调用视图定义失败的问题。

【1038234】【一般】修复了使用nocycle创建视图时,调用视图定义失败的问题。

PL/pgSQL

【1039838】【致命】修复了强制创建视图关联不存在的表,再强制创建视图关联上述视图,查询视图导致数据库宕机的问题。

【1039846】【严重】修复了存储过程中嵌套表为超大值时,调用存储过程报错的问题。

【1039844】【严重】修复了存储过程中子程序的函数返回关联数组类型时,调用存储过程报错的问题。

【1039772】【严重】修复了Oracle兼容模式下,当视图依赖于包体中的函数时,重建包,查询视图报的问题。

兼容性

【1039966】【致命】修复了SQL Server兼容模式下,A_EXPR对操作符为空的情况未做检查,导致数据库宕机的问题。

【1038925】【致命】修复了MySQL兼容模式下,当set vastbase_sql_mode= ''时,执行查询操作,数据库宕机的问题。

【1040006】【严重】修复了SQL Server兼容模式下,datetime类型的数据update为公元前的数据,更新结果不正确的问题。

【1040005】【严重】修复了SQL Server兼容模式下,datetime类型插入边界值数据,查询数据不正确的问题。

【1039866】【严重】修复了MySQL兼容模式下,由于类型转换错误导致的递归查询时返回结果错误的问题。

【1039852】【严重】修复了MySQL兼容模式下,Vastbase数据库中自定义函数获取的行号与MySQL数据库不一致的问题。

【1039835】【严重】修复了MySQL兼容模式下,ifnull函数中第1个参数类型为int,第2个参数类型为char时,查询数据报错的问题。

【1039834】【严重】修复了MySQL兼容模式下,在递归with查询中传入列名时,查询数据报错的问题。

【1039810】【严重】修复了MySQL兼容模式下,select@i方式赋值子查询,查询数据报错的问题。

【1039790】【严重】修复了MySQL兼容模式下,支持@variable变量的递归查询,递归路径查询有误的问题。

【1039769】【严重】修复了MySQL兼容模式下,创建序列和索引时,对于大小写敏感的判断。

【1037745】【严重】修复了MySQL兼容模式下,设置了对象忽略大小写,即lower_case_table_names=1,使用大写的INFORMATION_SCHEMA查询表信息时,系统报错识别不了“INFOMATION_SCHEMA”的问题。

【1039816】【严重】修复了Oracle兼容模式下,使用vb_dump工具从支持互相调用初始化块的package的数据库中,导出数据报错的问题。

【1039797】【严重】修复了Oracle兼容模式下,普通用户未被授予内置包函数UTL_ENCODE中recode类型的创建权限,调用报错的问题。

【1037797】【一般】修复了PostgreSQL兼容模式下,PBE语句(prepare as)中无法识别fetch next/first后的变量的问题。

【1038866】【一般】修复了MySQL兼容模式下,当lower_case_table_names= 1时,使用大写别名查询发生报错的问题。