VastbaseG100

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

Menu

版本介绍

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权限功能:
  • ALTER ANY TYPE、DROP ANY TYPE
  • ALTER ANY SEQUENCE、DROP ANY SEQUENCE、SELECT ANY SEQUENCE
  • ALTER ANY INDEX、DROP ANY INDEX
  • CREATE ANY TRIGGER、ALTER ANY TRIGGER、DROP ANY TRIGGER
  • CREATE ANY SYNONYM、DROP ANY SYNONYM
  • Oracle兼容性 特性参数 支持结果集中的字段名大小写可控。详见返回字段名大小写控制
    组件 新增了对PLJSON开源组件的兼容,用于处理PL/SQL代码中json格式的数据,详见PLJSON组件
    支持DBLINK实现库级别的连接访问,可以通过DBLINK像访问本地数据库一样访问远程数据库表中的数据,详见DBLINK库级访问
    系统函数 支持查询函数返回结果带参数列表
    新增了对以下函数的支持:
  • GROUP_ID,函数可以返回一个整型值,用于标识GROUP BY子句返回的唯一重复组。
  • APPENDCHILDXML,函数用于将用户指定的节点信息追加到目标xml文档中。
  • PERCENTILE_DISC,函数可以根据输入的百分比与排序规则从集合中返回一个元素。
  • FROM_TZ,函数用于拼接输入的时间戳和时区。
  • ASCIISTR,函数用于将输入的字符串转换为ascii码串。
  • DUMP,函数用于查看表达式在数据库内的数据类型代码、长度(以字节为单位)和表达式的内部表达形式。
  • SYS_CONTEXT,函数可以获取指定namespace下的parameter值。
  • table函数入参支持变量且函数返回结果支持COLUMN_VALUE列,详见TABLE
    SQL语法 支持多个子查询时不需要指定表别名
    新增对CREATE VIEW语法的force view选项的支持,确保可以直接创建视图。
    支持INSERT ALL指定字段批量插入数据,详见INSERT ALL&FIRST子句语法
    内置包 新增对以下内置包的支持:
  • UTL_ENCODE,提供了将原始数据编码转换为标准编码格式的函数,以便数据可以在主机之间传输。
  • DBMS_METADATA,提供了一种从数据库字典中检索元数据作为 XML或创建DDL并提交XML以重新创建对象的方法。
  • DBMS_XSLPROCESSOR,用于管理XML文档的内容和结构,新增子程序dbms_xslprocessor.valueof,可以根据给定的匹配模式串检索第一个节点的值。
  • 数据类型与操作符 新增对数据类型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
    系统函数 新增了对以下函数的支持:
  • 支持使用CONVERT函数进行数据类型和字符集转换。
  • DATE_SUB,使用函数得到某日期减去指定的时间间隔后的日期。
  • YEAR,使用函数获取给定时间的年。
  • EXTRACT,使用函数从时间类型数据或时间格式的字符串中提取指定部分。
  • TIMEDIFF,使用函数返回两个时间类型之间的差值。
  • SUBDATE,使用函数给定日期减去时间值(作为间隔)。
  • MAKEDATE,使用函数根据给定的年值year和日值dayofyear返回一个日期。
  • QUATER,使用函数根据给定的date返回对应的季度值。
  • STR_TO_DATE,使用函数将时间格式的字符串按照所提供的显示格式转换为DATETIME类型的值。
  • SYSDATE,使用函数获取当前系统时间。
  • JSON相关函数,包括JSON_CONTAINS、JSON_SET、JSON_ARRAY、JSON_REPLACE、JSON_UNQUOTE、JSON_EXTRACT、JSON_LENGTH。
  • TRUNCATE,使用函数返回被舍去至小数点后指定位的数字。
  • MID,使用函数从varbit可变长位串和text类型字符串中提取子串。
  • IFNULL,使用函数判断参数值是否为NULL。
  • IF,使用函数判断给定条件是否为TRUE。
  • 数据类型和操作符 支持使用反引号包裹字符解释为标识符,详见反引号解释为标识符
    支持使用#符号注释
    PostgreSQL兼容性 系统函数 新增了对以下函数的支持:
  • JSONB_PATH_QUERY,函数按照特定路径查询jsonb对象,返回所有符合jsonpath的json item集合。
  • JSONB_PATH_QUERY_ARRAY
  • ,函数按照特定路径查询jsonb对象,返回查询结果并将结果封装为数组。
    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 SUBPARTITIONALTER TABLE SUBPARTITION
    MySQL兼容性 SQL语法 完善了MySQL兼容性中的replace语法中对LOW_PRIORITY和DELAYED关键字的支持,详见REPLACE INTO
    支持使用关键字"date_add"作为列名。
    支持修改存储过程、函数时不用带参数列表,详见ALTER PROCEDUREALTER FUNCTION
    存储过程与函数中支持SQL SECURITY、LANGUAGE SQL、DETERMINISTIC、CONTAINS SQL等语句,详见CREATE PROCEDURECREATE FUNCTION
    PL/SQL中支持LEAVE label语法、ITERATE label语法,详见LOOP循环语法
    支持使用ALTER语法修改存储过程、函数对象的属性和特征,详见ALTER PROCEDUREALTER 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)