版本介绍
Vastbase G100 V2.2 Build 12 Release Notes
Vastbase G100 V2.2 Build 12是Vastbase于2023年3月17日发布的先行版,新增了大量语法、函数、功能以及兼容性特性。本章将介绍新增特性概览,其他功能请参考Vastbase G100 V2.2 Build 10以及Vastbase G100 V2.2 Build 11。
新特性
兼容模式 | 功能模块 | 新增特性 |
---|---|---|
通用 | 安全性 | 支持无过度损失的自动恢复,即当数据库由于GUC参数无效导致进程启动失败时,数据库可以通过单用户single模式登录进入维护模式,并通过该模式修改无效的guc参数。 |
支持数据库启动及安装包完整性校验,对重要文件可以生成对应的MD5文件、提供MD5检验功能、提供恢复功能。 | ||
触发器 | 新增支持事件触发器。 | |
OEM | 支持OEM标识定制,包括安装介质名称、vsql登录显示的产品标签、版本查询函数显示,也可以使用编译参数控制OEM信息和安装包OEM信息。 | |
函数 | 支持IP白名单查询和更新的函数。 | |
GUC参数 | 新增GUC参数vb_max_dbms_locks用于限制dbms_lock的最大数量,参见锁管理。 | |
Oracle兼容性 | 内置包 | 支持内置包DBMS_SESSION的部分功能,该内置包提供了查询和设置会话相关状态的方法。 |
支持当包体存在初始化块时,不同包体的初始化块/包体函数进行相互调用。 | ||
PL/SQL | 支持PL/SQL在匿名块中使用占位符作为赋值表达式左值。 | |
函数 | EMPTY_CLOB,用于构造空的LOB供后续使用流插入 | |
支持重载包函数时检查参数名。 | ||
MySQL兼容性 | 函数 | 新增支持以下函数:
|
PL/SQL | 支持SELECT 支持@i:=expr方式赋值查询,输出查询结果并将查询结果存储到"@i"中,若查询结果有多行,则存储最后一行数据。 | |
SQL语法 | 支持使用DECLARE CONDITION语句声明一个命名的错误条件,可以为错误号或者 SOLSTATE重命名,在异常处理中可以使用声明的 CONDITION。 | |
支持DECLARE CONTINUE HANDLER进行异常处理。 | ||
支持IGNORE INDEX,参见IGNORE|FORCE INDEX语法。 | ||
支持使用CHANGE COLUMN语法修改表列的名字和类型。 | ||
类型转换 | 支持UUID到字符串类型的隐式转换。 | |
SQL Server兼容性 | 函数 | 新增支持以下函数:
|
数据类型 | 新增支持以下数据类型:
|
|
操作符 | 支持对字符串进行加法操作,字符串相加的操作作为字符串的连接返回,参见字符操作符。 | |
SQL语法 | 支持使用TRY CATCH捕捉异常。 | |
支持OUTPUT语法,返回受SQL语句影响的各行中的信息。 |
特性优化
兼容模式 | 功能模块 | 新增特性 |
---|---|---|
通用 | SQL语法 | 支持分区表表结构变更后与普通表的分区交换,参见ALTER TABLE PARTITION。 |
interval分区下支持创建二级分区,详见CREATE TABLE SUBPARTITION。 | ||
支持创建数据库时自定义指定模板,参见CREATE DATABASE。 | ||
审计日志 | 支持当审计日志空间满后审计日志自动转存备份的功能。 | |
支持对审计日志加密存储。 | ||
支持审计使用光电安辰密码卡实现密码卡的密钥管理和加密运算并产生审计数据,详情参见审计密钥管理和加密运算。 | ||
备份工具 | 支持vb_dump导出SQL文本格式生成insert语句时使用子命令--table condition指定导出条件。 | |
外部数据封装器 | 支持POSTGRES_FDW功能连接PostgreSQL 11数据库。 | |
Oracle兼容性 | 内置包 | DBMS_LOB功能增强,新增支持的常量、函数、存储过程。 |
DBMS_UTILITY包新增支持ANALYZE_SCHEMA工具。 | ||
SQL语法 | 创建视图时支持with read only功能,详情参考CREATE VIEW创建只读视图。 | |
支持保存和查看创建视图时的注释信息。 | ||
编译控制选项pragma serially_reusable,可以将package设定为连续可复用包,此选项可以使得对应package分配的内存在调用后被释放,复用package时包内变量都被初始化为其默认值,参见CREATE PACKAGE、CREATE PACKAGE BODY。 | ||
在创建type时,支持对成员函数进行重写,参见CREATE TYPE。 | ||
支持在CREATE TRIGGER的语句中包含触发器执行的PL/SQL块。 | ||
外部数据封装器 | DBLINK支持package同义词访问Oracle包中的函数。 | |
MySQL兼容性 | SQL语法 | 支持子查询识别上层查询字段别名。 |
支持使用UNION [ALL]语句将两个或多个查询结果合并,并通过ORDER BY子句排序,参见支持在UNION [ALL] 语句中使用ORDER BY 子句 | ||
支持多表关联时关联的同名字段不需要指定表名。 | ||
支持INNER JOIN连接条件使用WHERE子句。 | ||
BEGIN...END代码块的label标签可以通过":"的形式设置。详情参见支持LABEL:[DECLARE]BEGIN。 | ||
支持用户使用delimiter定义分隔符。在创建触发器SQL末尾可以不使用固定的结尾,整个触发器的语法以delimiter定义的结束符作为结束,参见CREATE TRIGGER。 | ||
异常处理,完善DECLARE EXIT HANDLER语句。 | ||
CREATE TABLE AS支持定义表字段属性。 | ||
支持在初始化实例或创建数据库时,通过参数pad_attribute控制字符串等值查询时是否忽略空格匹配,参见vb_initdb、CREATE DATABASE。 | ||
支持多表关联UPDATE和DELETE语法。 | ||
支持在INSERT语句中使用IGNORE选项。 | ||
CREATE TABLE语法增强,支持在建表时指定表级校对规则、存储引擎、字符集以及表的注释。 | ||
支持无关联条件的JOIN,返回结果为笛卡尔积的形式。 | ||
支持INSERT INTO语法使用value插入数据,参见INSERT INTO...VALUE。 | ||
操作符 | 支持使用“+”运算符时,若左值为“0”且右值为任意带数字的字符串(charnum),则" 0 + charnum"将得到与原字符串charnum中相同精度的浮点数或者整数,参见+运算符精度处理。 |
新增以下操作系统及CPU平台适配
CPU型号 | 操作系统 | 操作系统版本号 |
---|---|---|
飞腾s2500 | Kylin | V10专用版操作系统 | FusionOS | 22 |
UOS | V20(1050a) | |
V20(1050e) | 飞腾s2000 | UOS | V20(1020d) |
龙芯 | UOS | V20(1050a) |
海光 | UOS | V20(1050e) |