Vastbase G100 V2.2 Build 10(Patch No.11)
发布日期
2023年8月15日
升级方式
VPatch工具升级。可参考使用VPatch进行版本控制。
commit 标识:15020
新特性
1、新增以下Oracle兼容性:
新增CREATE CONTEXT语法,用于创建用户自定义的namespace。
新增ASCIISTR函数,用于将输入的字符串转换为ascii码串。
新增以下内置包函数:
UTL_RAW.BIT_XOR:将输入的RAW r1和RAW r2中的值执行按位逻辑异或运算,并返回异或结果。
UTL_RAW.LENGTH:用于返回将输入的RAW r的字节长度。
UTL_RAW.SUBSTR:用于返回len个字节,从RAW r的pos位开始计算。
DBMS_JOB.SUBMIT:新增Oracle兼容模式下的特定语法,支持在传参时使用
参数名=>参数值
的写法。DBMS_JOB.CHANGE:修改一个定时任务。
DBMS_SESSION.CLEAR_ALL_CONTEXT:用于清除当前命名空间即命名空间中的所有attribute-value值。
DBMS_SESSION.SET_CONTEXT:在用户自定义的命名空间下设置attribute-value值。
DBMS_RLS.ADD_POLICY新增支持package函数。
新增以下系统视图:
DBA_JOBS:提供了用户创建的定时任务的详细信息。
DBA_POLICIES:提供了Vastbase支持的虚拟专用数据库(VPD)安全策略。
2、新增以下MySQL兼容性:
GUC参数vastbase_sql_mode新增取值'ANSI_QUOTES',通过是否启用ANSI_QUOTES来控制双引号引用的内容被解释为标识符还是字符串。
从V2.2 Build10(Patch No.11)开始,此参数默认值中包括'ANSI_QUOTES',表示双引号引用内容被解释为标识符,即默认与升级前的行为一致。
新增以下函数:
MY_ENCRYPT_AES128:基于AES算法,使用密钥字符串对明文字符串进行加密。
MY_DECRYPT_AES128:根据给出的密钥字符串返回加密字符串的解密结果。
HEX:用于将输入的数据转换为十六进制表现形式。
UNHEX:用于将一个十六进制编码的字符串解码。
TO_BASE64:根据BASE64编码规则,将一个字符串编码成BASE64编码格式,返回字符串的编码结果。
FROM_BASE64:根据BASE64编码规则,将一个BASE64编码的字符串解码,返回字符串的解码结果。
新增以下SQL语法特性:
支持在CREATE TABLE建表时指定字符集。
支持ALTER TABLE在使用MODIFY子句修改表的已有字段时使用可选关键字COLUMN。
支持在
ALTER TABLE ADD
或者ALTER TABLE MODIFY
的同时支持通过FIRST或AFTER关键字指定新增字段的位置或被修改后字段的位置。支持使用CHANGE COLUMN语法修改表列的名字和类型。
支持在INSERT语句中使用IGNORE选项。
3、新增以下SQL Server兼容性:
新增以下函数:
使用限制
使用PL/Python实现自定义过程语言时,禁止使用plpy模块。
缺陷修复
1、【1029780】修复了在vb_dump导出sequence的过程中,由于在获取sequence oid的语句中,部分sequence name误用了双引号,导致找不到对应的oid从而引起导出失败的问题。
2、【1029627】修复了MySQL兼容模式下使用hour()函数时,若入参时间为NULL,返回结果为0,与MySQL的返回结果NULL不一致的问题。
3、【1029504】修复了创建分区表并插入数据后,分区表数据量分布有误,并且查询分区表数据量分布显示每个分区的num_rows都和表的总条数相同的问题。
4、【1029498】修复了由于sys_connect_by_path不支持level输出列导致该函数无法在函数内引用子查询字段的问题。
5、【1029367】修复了设置参数plsgl_show_all_error = true,resource_track_log='detail'
的前提下,创建函数失败时引起数据库宕机的问题。
6、【1029366】修复了执行DELETE PLAN_TABLE操作引发数据库宕机的问题。
7、【1029365】【1029364】修复了由于代码逻辑问题导致访问了堆上一个被释放的内存地址,导致使用数据库时报错提示“heap-use-after-free”并宕机的问题。
8、【1029061】修复了数据库无法执行vacuum subpartition语法的问题。
9、【1028892】修复了使用convert函数将smalldatetime类型数据转换为空时报错的问题。
10、【1028888】修复了在PL/SQL中无法使用insert all into语法的问题。
11、【1028637】修复了子查询出现在on中,使用外层别名进行查询时报错提示字段不存在的问题。
12、【1028885】保存信息的内存大小判断逻辑有误,导致没有预分配足够大的内存,出现写越界,数据库宕机的问题。
13、【1027615】修复了在数据库中创建包含start with..connect by
的物化视图时报错提示ERROR: invalid varno 4
的问题。
14、【1024889】修复了使用列存表的auto-updated属性时列自动更新失败的问题。
15、【1024767】修复了跨schema重写父类,包内存储过程调用类型创建包失败的问题。
16、【1024043】修复了由于plpython内存管理机制不合理导致创建扩展plpython3u引发数据库宕机的问题。
17、【1018939】修复了在数据库中执行左表数据重复率100%,右边数据库重复率0%的关联查询,引起系统OOM的问题。
18、【1030535】修复了在配置文件rsyslog.conf所指定的路径下没有记录审计日志的问题。
19、【1030453】修复了主备库数据表使用select count(1)查询的数据量不一致的问题。
20、【1029425】修复了使用json_extract函数时无法通过PrepareStatement.setString传值的问题。
21、【1029305】修复了使用Vpatch升级后存在smalldatetime类型到longtext类型转换的问题。
22、【1030514】修复了由于数据库对初始系统表进行了限额判断导致死锁从而引发数据库宕机的问题。
23、【1027966】修复了因允许在流复制环境对系统表执行dynamic_load函数,导致在数据库集群运行过程中备库core dump的问题。