Vastbase G100 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】【严重】修复了升级环境开启vastbase_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】【致命】修复了prepare
,decode
与alter table
同时使用时的数据库日志报错cached plan must not change result type
。
【1040006】【严重】修复了查询快照数据时,报错表snapshot.snapshot
不存在的问题。
【1039857】【严重】修复了升级环境开启vastbase_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
时,使用大写别名查询发生报错的问题。