VastbaseG100

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

Menu

版本介绍

Vastbase G100 V2.2 Build 13 Release Notes

Vastbase G100 V2.2 Build 13是Vastbase于2023年6月5日发布的先行版,新增了大量语法、函数、功能以及兼容性特性。本章将介绍新增特性概览,其他功能请参考Vastbase G100 V2.2 Build 10Vastbase G100 V2.2 Build 11以及Vastbase G100 V2.2 Build 12

新特性

兼容模式 功能模块 新增特性
通用 共享存储 支持资源池化主备共享存储特性。
备份恢复 支持在备库上执行vb_dump
GUC参数 Vastbase G100 V2.2 Build 13版本相比于V2.2 Build 12,存在部分GUC参数变更,详见GUC参数说明
SQL语法 支持查询缓存功能,提升了同一个语句多次查询,且结果集相同时的性能。
Oracle兼容性 系统视图 新增如下系统视图:
  • DBA_TAB_COLS:提供了关于数据库中所有表、视图的各列元数据信息。
  • DBA_POLICIES:提供了Vastbase G100支持的虚拟专用数据库(VPD)安全策略。
  • DBA_JOBS:提供了用户创建的定时任务的详细信息。
  • DBA_FREE_SPACE:描述了数据库中所有表空间的空闲区。
  • DBA_DATA_FILES:该视图记录了数据库文件。
  • ALL_ARGUMENTS:提供了当前用户可以访问的函数和过程的参数。
  • 函数 新增如下函数:
  • TO_LOB:该函数用于将LONG或LONG RAW类型的值转换成LOB值,只能应用于LONG或者LONG RAW列。
  • TO_BLOB:该函数用于将RAW或LONG RAW类型的值转换成BLOB值。
  • 内置包 新增如下内置包:
  • DBMS_AQADM:提供了查询和设置会话相关状态的方法。
  • DBMS_AQ:用于添加消息到队列、从队列中删除消息、注册或注销PL/SQL回调存储过程。
  • SQL语法 支持在使用SELECT DISTINCT | UNIQUE查询时在ORDER BY子句中支持使用表达式
    支持在使用窗口聚集函数的条件下使用DISTINCT去重过滤,参见窗口函数支持distinct过滤
    新增CREATE CONTEXT语法,用于创建用户自定义的namespace。
    使用ALTER TRIGGER语法时新增禁用和解禁触发器的语法。
    JOIN连接允许表别名重复:支持使用JOIN连接从多个表中读取数据时,在JOIN条件两端使用重复的表别名。
    在进行SQL查询时,CONNECT BY支持ROWID在外层查询被识别
    MySQL兼容性 SQL语法 支持在建表时使用列约束ON UPDATE特性,用于自动更新TIMESTAMP字段的时间戳,参考CREATE TABLE
    CREATE VIEW创建视图时支持SQL SECURITY语法,为视图添加安全属性并支持安全属性的修改。
    支持GET DIAGNOSTICS语法,用于检查SQL语句执行填充到诊断区域的诊断信息。
    针对DATE、DATETIME和TIMESTAMP数据类型,支持无效日期作为数据,可以接受无效日期数据的INSERT和UPDATE操作,并且可以把无效日期作为查询的条件。
    函数 MySQL新增支持以下函数:
  • ANY_VALUE:用于解决查询字段不属于GROUP BY字段的问题,当select的字段没有出现在GROUP BY子句中,可使用ANY_VALUE函数让语句正常执行。
  • FROM_UNIXTIME:用于将数值格式的时间戳转换为字符串类型的日期时间格式。
  • HOUR:用于提取并返回时间值中的小时部分。
  • DAYOFWEEK:用于获取某个日期是星期几。
  • WEEK:用于计算一个日期所在的周数。
  • WEEKOFYEAR:用于获取某个日期是一年中的第几周。
  • DAYOFYEAR:用于获取某个日期是一年中的第几天。
  • WEEKDAY:用于获取某个日期是一周中的星期几。
  • DAY&DAYOFMONTH:两个函数都是用于返回给定日期是当月中的第几天,两个函数用法,参数以及返回值均相同。
  • SQL Server兼容性 函数 SQL Server新增支持以下函数:
  • @@ERROR:可以针对错误处理捕获相应的错误号。
  • ERROR_STATE:可用于返回导致TRY…CATCH构造的CATCH块运行的错误状态号。
  • ERROR_SEVERITY:用于返回导致TRY…CATCH构造的CATCH块运行的错误的严重级别。
  • ERROR_PROCEDURE:返回出现错误的存储过程或触发器的名称。
  • ERROR_NUMBER:可以针对错误处理捕获相应的错误号。
  • ERROR_MESSAGE:可以针对错误处理捕获相应错误的消息文本。
  • ERROR_LINE:可以针对错误处理捕获相应的错误行。
  • SQL语法 支持SELECT INTO语法,将SELECT在源表的查询结果用于创建一个新表。
    数据类型 新增支持以下数据类型:
  • DATETIME类型,该类型是结合了24小时制时间的日期,秒的精度为小数点后3位。
  • image类型,表示长度可变的二进制数据。
  • 操作符 支持字符操作符+=,用于对字符类型的用户自定义变量的连接和赋值操作。
    PL/SQL 新增存储过程和匿名块支持返回多个结果集的功能。
    PostgreSQL兼容性 SQL语法 支持REGNAMESPACE类型,该类型是OID在命名空间下的别名类型。
    支持消息队列的监听和通知功能 支持LISTENNOTIFYUNLISTEN
    支持PG_NOTIFY函数,用于发送一个通知。
    支持PG_LISTENING_CHANNELS函数,用于查看当前客户端都注册了哪些LISTEN监听。

    特性优化

    兼容模式 功能模块 新增特性
    通用 插件 升级ltree插件,将ltree插件从1.0版本升级至1.2版本。
    升级pg_zhtrgm插件,将pg_zhtrgm插件从1.1升级至1.4版本。
    Oracle兼容性 内置包 DBMS_LOB新增内置包函数WRITE和APPEND。
    DBMS_JOB功能增强,新增内置包函数CHANGE以及支持Oracle兼容模式下的特定语法,在传参时使用`参数名=>参数值`的写法。
    DBMS_SESSION新增内置包函数SET_CONTEXT和CLEAR_ALL_CONTEXT。
    DBMS_UTILITY新增内置包函数FORMAT_ERROR_STACK和FORMAT_ERROR_BACKTRACE。
    DBMS_XSLPROCESSOR新增内置包函数SELECTNODES用于从XML的DOM树中获取到指定的树节点列表。
    UTL_ENCODE新增内置包函数BASE64_ENCODE实现对RAW类型内容的加密,返回加密密文。
    UTL_FILE新增内置包函数PUT_RAW接受作为输入的RAW类型数值,并将该值写入输出缓冲区。
    UTL_HTTP新增内置包函数READ_TEXT,可以根据请求url返回内容的字符集编码信息,解码并读取指定个数的字符存入指定的缓冲区中。
    UTL_RAW新增内置包函数BIT_XOR,LENGTH和SUBSTR。
    DBMS_RLS.ADD_POLICY新增支持package函数。
    MySQL兼容性 数据类型 int,tinyint和bigint,支持int(N),tinyint(N),bigint(N)的写法。
    SQL Server兼容性 数据类型 DATETIME2类型的秒精度从小数点后6位变为7位。

    新增以下操作系统及CPU平台适配

    数据库 CPU型号 操作系统
    Vastbase G100 鲲鹏920 Kylin 2019
    kylin v10(juniper)
    kylin V10 sp3
    麒麟信安 3.3
    统信UOS V20(1021e)
    openEuler 22.03 sp1
    Intel x86 中标麒麟 7.6
    Ubuntu Desktop 22.04
    openEuler 22.03 sp1
    kylin v10 sp3
    openEuler 20.03 sp3
    海光x86 kylin v10 sp3
    CentOS 8.2
    统信UOS 1050u2a
    兆芯x86 Kylin V10 sp3
    海光C86 openEuler 22.03
    openEuler 22.03 sp1
    龙芯5(LoongArch64) 统信UOS V20(1050u2a)
    飞腾s2500 kylin V10 sp3
    Vastbase Lite Intel x86 openEuler 22.03 sp1
    Ubuntu 22.04.2 LTS(桌面版)