版本介绍
Vastbase G100 V2.2 Build 11 Release Notes
Vastbase G100 V2.2 Build 11是Vastbase于2022年12月2日发布的先行版,新增了大量语法、函数、功能以及兼容性特性。本章将介绍新增特性概览,其他功能请参考Vastbase G100 V2.2 Build 10。
新特性
兼容模式 | 功能模块 | 新增特性 |
---|---|---|
通用 | 系统函数 | 新增了VB_VERSION函数,用于返回数据库版本号,详见系统信息函数章节的VB_VERSION函数。 |
插件 | 增加了对ltree插件的支持,详见Itree插件。 | |
权限 | 细粒度Any权限增强,Any权限管理新增支持以下5种对象共12种ANY权限功能:
| |
Oracle兼容性 | 特性参数 | 支持结果集中的字段名大小写可控。详见返回字段名大小写控制。 |
组件 | 新增了对PLJSON开源组件的兼容,用于处理PL/SQL代码中json格式的数据,详见PLJSON组件。 | |
支持DBLINK实现库级别的连接访问,可以通过DBLINK像访问本地数据库一样访问远程数据库表中的数据,详见DBLINK库级访问。 | ||
系统函数 | 支持查询函数返回结果带参数列表。 | |
新增了对以下函数的支持:
| ||
table函数入参支持变量且函数返回结果支持COLUMN_VALUE列,详见TABLE。 | ||
SQL语法 | 支持多个子查询时不需要指定表别名。 | |
新增对CREATE VIEW语法的force view选项的支持,确保可以直接创建视图。 | ||
支持INSERT ALL指定字段批量插入数据,详见INSERT ALL&FIRST子句语法。 | ||
内置包 | 新增对以下内置包的支持:
| |
数据类型与操作符 | 新增对数据类型LONG和LONG RAW的支持。 | |
新增内置跨类型操作符。 | ||
PL/SQL | 定义REF CURSOR时可以指定return type,类型支持%rowtype类型和record类型,详见REF CURSOR。 | |
定义pipe row时入参支持自定义type类型,详见pipelined自定义type返回。 | ||
新增支持subprogram嵌套。 | ||
MySQL兼容性 | 特性参数 | 支持查询函数返回结果集字段带参数列表,详见函数返回结果带参数列表。 |
支持使用low_case_table_names参数控制对象名大小写,详见设置对象名大小写敏感。 | ||
SQL中支持双引号包裹字符值解释为标识符,通过sql_mode参数中的ansi_quotes来控制双引号表示的效果,详见双引号解释为标识符。 | ||
PL/SQL | 存储过程和函数支持声明SQLSTATE、SQLERRM、SQLCODE变量,当出现异常情况后,将变量值作为信息输出,详见自定义错误函数。 | |
支持存储过程汇总使用START TRANSACTION语句开启一个事务,详见存储过程中允许使用START TRANSACTION。 | ||
支持使用DECLARE HANDLER语句来处理函数或存储过程中的异常。 | ||
支持用户使用ROWNUM自定义变量用来识别获取行号。 | ||
存储过程或函数支持通过指定DEFINER指定属主。 | ||
系统视图 | 新增information_schema.statistics视图用于提供对索引相关信息的查询。 | |
information_schema.columns视图中新增了MySQL兼容性的部分字段。 | ||
SQL语法 | 支持FORCE INDEX语法指定执行计划,为优化器提供有关如何在查询处理期间选择索引的信息。 | |
支持使用SET语句对用户变量进行赋值。 | ||
使用PREPARE FROM语法给一个SQL语句赋予一个名字,并在后续的操作中通过引用该名称来实现对SQL语句的执行等操作。 | ||
支持使用DELIMITER自定义分隔符。 | ||
支持创建触发器,详见CREATE TRIGGER。 | ||
系统函数 | 新增了对以下函数的支持:
|
|
数据类型和操作符 | 支持使用反引号包裹字符解释为标识符,详见反引号解释为标识符。 | |
支持使用#符号注释。 | ||
PostgreSQL兼容性 | 系统函数 | 新增了对以下函数的支持:
|
SqlServer兼容性 | SQL语法 | SQLServer兼容性模式下支持使用TOP子句来限制查询结果集中返回的行数或百分比,详见TOP子句。 |
特性优化
兼容模式 | 功能模块 | 优化特性 |
---|---|---|
通用 | 导入导出 | 完善了高速导入导出transpoetable功能,可以最小支持到分区级别的细粒度在线快速物理迁移。 |
GUC参数 | 优化了数据库默认预置参数,将password_force_alter默认值修改为off,password_effect_time默认值修改为36500,autovacuum_mode默认选项为mix。 | |
日志 | 精简了数据库日志,不打印无效日志。 | |
隐式转换 | 解决了隐式转换导致性能下降问题。 | |
SQL语法 | 支持在创建数据库时使用中文的数据库名,详见CREATE DATABASE | |
INTERVAL分区表功能增强:支持number类型作为分区键,详见INTERVAL分区表。。 | ||
新增了同义词synonym功能对序列对象的创建及使用,详见CREATE SYNONYM。 | ||
二级分区合入新增功能和语法,可指定字段进行二级分区,分区类型可以是RANGE、LIST、HASH,详见CREATE TABLE SUBPARTITION、ALTER TABLE SUBPARTITION。 | ||
MySQL兼容性 | SQL语法 | 完善了MySQL兼容性中的replace语法中对LOW_PRIORITY和DELAYED关键字的支持,详见REPLACE INTO。 |
支持使用关键字"date_add"作为列名。 | ||
支持修改存储过程、函数时不用带参数列表,详见ALTER PROCEDURE、ALTER FUNCTION。 | ||
存储过程与函数中支持SQL SECURITY、LANGUAGE SQL、DETERMINISTIC、CONTAINS SQL等语句,详见CREATE PROCEDURE、CREATE FUNCTION。 | ||
PL/SQL中支持LEAVE label语法、ITERATE label语法,详见LOOP循环语法。 | ||
支持使用ALTER语法修改存储过程、函数对象的属性和特征,详见ALTER PROCEDURE、ALTER FUNCTION。 | ||
支持使用CALL语法调用有参的存储过程。 | ||
CREATE TABLE AS兼容 IF NOT EXISTS语法。 | ||
Oracle兼容性 | 内置包 | 完善内置包DBMS_XMLDOM,支持同义词 xmldom,详见DBMS_XMLDOM。 |
完善内置包DBMS_XMLPARSER,支持同义词 xmlparser,并且新增部分子程序,详见DBMS_XMLPARSER。 | ||
SQL语法 | CREATE TYPE语法增强:支持定义成员变量和成员函数,详见CREATE TYPE。 | |
PostgreSQL兼容性 | SQL语法 | CREATE TABLE语法中新增了对普通行存表的继承,详见CREATE TABLE。 |
COPY语法中新增了对不带引号的format值的支持,详见COPY。 | ||
支持对已存在的表在修改时增加自增列,详见ALTER TABLE。 | ||
支持创建临时序列,创建的序列在会话退出时删除,详见CREATE SEQUENCE。 |
新增以下操作系统及CPU平台适配
CPU型号 | 操作系统 | 操作系统版本号 |
---|---|---|
x86(海光) | 中标麒麟 | V7.0 |
UOS | V20(1050a) | |
LinxOS(凝思) | V6.0.80 | |
x86(Intel) | Deepin | V16 |
中标麒麟 | V7.0 | |
openEuler | 22.03 | |
Kylin | 4.0.2 sp4 | |
湖南麒麟 | - | |
Red Hat Enterprise Linux | 8.6 | |
Red Flag Asianux | V7.6 | |
Ubuntu | 18.04 | |
UOS | V20(1050e) | |
FusionOS | 2.10 | |
EulerOS | 2.10 | |
飞腾s2500 | Kylin | V10 |
Red Flag Asianux | V7.6 | |
kunpeng 920 | Kylin | V10 |
openEuler | 22.03 | |
FusionOS | 22 | |
Red Flag Asianux | V7.6 | |
UOS | V20(1050a) | |
EulerOS | 2.10 | |
申威 | UOS | V20(1040) |