VastbaseG100

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

Menu

V2.2 Build 16

版本升级指南

版本号说明
例:V2.2 Build 16
大版本:2.2
Build:16
Patch:补丁号

1、不同大版本以及不同Build的升级必须使用方法一升级
2、补丁升级请遵循以下规则

升级前\升级后 V2.2 Build 16
<V2.2 Build 16 重新初始化
>=V2.2 Build 16 N/A

注:目前V2.2 Build 16内升级需要重新初始化的版本:暂无。

补丁编号说明

例:2-2.2-16-92-702-9104-kylin-v10sp1-x86-64-hygon-1.0.1-06-20230308.tar.gz

补丁编号规则:

TYPE-VERSION-BUILD-BGCORE-SMCORE-SVN-OSCPU-VPATCHNO-PATCHNO-DATE

编号规则 含义说明
TYPE 类型
One off patch,TYPE=1
PSU,TYPE=2
PSR,TYPE=3
VERSION 适用该补丁的Vastbase G100产品大版本号,如2.2。
BUILD 适用该补丁的Vastbase G100产品BUILD号,如8、9、10。
BGCORE 适用该补丁的Vastbase G100产品内核大版本号,如内核版本号为92.456,此时该值为92。
SMCORE 适用该补丁的Vastbase G100产品内核小版本号,如内核版本号为92.456,此时该值为456。
SVN 适用该补丁的Vastbase G100产品的内部SVN提交号。
OSCPU 标识操作系统和处理器。
VPATCHNO Vpatch版本号。
PATCHNO patch编号。
DATE 发布日期。

升级方法介绍

方法一: 以下简称为“重新初始化”

所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。

1、使用vb_dump导出所有对象和数据。

2、使用数据库安装程序安装新的数据库。

3、开启数据库。

4、使用vb_restore导入步骤1中的备份数据到新库中。

方法二: 以下简称为“vpatch工具升级”

参考使用vpatch进行版本控制

方法三:以下简称为“替换升级”

直接替换安装目录并重启数据库即可,步骤如下:

1、 停止数据库。

2、 解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。

具体操作步骤如下:

(1)解压安装包,第一次解压(安装包以实际为准)。

tar xf Vastbase-G100-installer-2.2_Build_5.161-openeuler_20.03-aarch64_kunpeng-20220812.tar.gz

(2)解压后进入vastbase-installer目录,进行第二次解压。

tar xf Vastbase-G100-2.2_Build_5.161-openeuler_20.03-aarch64_kunpeng.tar.gz

(3)第三次解压。

tar xf Vastbase-G100-2.2_Build_5.161-openeuler-64bit.tar.bz2

(4)将解压之后的bin、include、lib、share四个目录替换到现有数据库安装目录下。

3、开启数据库。

配套驱动/工具版本

JDBC Driver ODBC Driver HAS
V2.9 V1.6 V1.2/V1.4/V3.3

Vastbase G100 V2.2 Build 16

发布日期

2024年3月14日

新特性

外部数据封装器

Vastbase支持创建外部数据封装器tds_fdw,用于远程访问SQL Server数据库。

插件

新增pg_repack插件:用来重新组织和压缩数据库中的astore,行存表和索引,主要用于在线重建表和索引,以解决表或索引膨胀的问题,减少碎片并提高性能。

GUC参数

  • 查询重写:

    参数rewrite_rule新增可选取值enable_any_sublink_pullup_enhanced,启用此选项后计划器会尝试将相关子连接进行提升,生成更好的执行计划。

  • 系统性能快照:

    新增参数wdr_snapshot_auto_vacuum_full,用于控制是否在清理快照后对相关表进行vacuum full的功能。

兼容性

1、新增以下Oracle兼容性:

  • 函数

    • 支持xmlagg.getclobval()函数,用于将xml类型转换为clob类型,且是尾调用形式。

    • 支持XMLPARSE函数,用于从字符数据产生XML类型的值。它可以将包含XML内容的字符串、文本或二进制数据解析为可以在数据库中进行处理和查询的XML类型。

    • 支持通过实现一组统称为ODCIAGGREGATE的接口函数来自定义聚合函数,将这些函数实现为对象类型中的方法。每个用户定义的聚合函数支持使用ODCIAGGREGATE函数(或步骤)来定义任何聚合函数执行的内部操作,包括初始化、迭代、合并和终止。

  • SQL语法:

    • 支持UPDATE+子查询+SET…语法,用于通过子查询生成要更新的数据集,并更新符合子查询条件的列值。

    • CREATE TRIGGER创建触发器时支持使用PL/SQL(匿名块)来代替触发函数。

    • 多表关联的视图,支持通过视图对单个基表进行DML操作(插入、更新、删除)。

    • 支持通过SELECT/FETCH INTO向RECORD数组或复合类型数组赋值,详见数组支持RECORD类型

    • 使用CREATE PACKAGE BODY语法创建包体时:

      • 包体中支持使用INSERT ALL INTO语法,将子查询的结果数据插入目标表,支持缺省values字段。

      • 包体支持预定义异常条件dup_val_on_index,它用于处理在插入或更新操作中违反唯一性约束的情况。

    • INSERT语法支持NOLOGGING关键字,即INSERT INTO...NOLOGGING。该关键字无实际意义,仅为了实现与Oracle的语法兼容。

  • PL/SQL

  • 内置包

    内置包子程序DBMS_LOB.READ的读取类型支持BLOB/CLOB。

  • 特性参数

    • 新增Oracle模式数据库兼容性行为配置项a_format_behavior_compat_options。当其取值包含update_subselect_check_unique时,用于控制使用UPDATE+子查询+SET语法时,检查子查询中非目标表的唯一索引是否都出现在了where条件中。

    • 新增参数ora_illegal_nul_conversion,用于控制重载包函数时,将NUL(0x00)字符转换为空格保存还是报错处理。默认值为'off',不会对NUL字符做转换处理。设置为'on'表示转换为空格进行保存。

  • 组件

    使用DATABASE LINK(jdbc_fdw)时:

    • 当Oracle源端对象的定义发生改变时,Vastbase目标端不需要删除再重建存储在本地的外部表。

    • 支持子查询下推功能。当一个子查询可在远端执行时,可将其下推到远端执行,无需将子查询中的远端表拉到本地再执行子查询。

2、新增以下MySQL兼容性:

  • SQL语法:

    • 新增SHOW SLAVE STATUSSHOW REPLICAS语法,用于查看WAL(xlog)日志同步状态信息。后者必须在主库执行才有效。

    • 新增SHOW OPEN TABLES语法,用于列出所有被打开的非临时表。

    • 新增SHOW STORAGE ENGINES语法,用于列出支持的存储引擎信息。

    • 支持使用形如ALTER TABLE ADD(col type), ADD(col type) ...的语法向表中添加多个字段。详见ALTER TABLE

    • 支持对字段定义zerofill属性,用于修饰整型数据类型。当字段中写入值的长度小于定义长度时,会在数值前面用零补全。详见column定义支持ZEROFILL/UNSIGNED属性

    • 在MySQL兼容模式下,当用户将多个相邻的带引号的字符串放置在一起时,它们会被自动连接为一个字符串,详见字面值

  • 特性参数

    • 支持通过参数lower_case_column_names控制select_list中别名的大小写敏感性。

    • B语法校验参数vastbase_sql_mode新增可选取值ERROR_FOR_DIVISION_BY_ZERO,用于控制除数为0时是否报错。

  • 查看和设置参数

3、新增以下SQL Server兼容性:

  • 函数:

    • YEAR函数,返回给定日期的年份。

    • ISDATE函数,用于判断表达式是否为有效的datetime值。

    • ISNUMERIC函数,用于判断表达式是否为有效的数值类型。

    • REPLICATE函数,用于指定一个字符串值重复的次数。

  • SQL语法

    • 支持使用insert into tablename exec proc语法,将存储过程输出的结果集插入到表中。详见INSERT

    • 支持UPDATEDELETE语法的各类关联操作语法,包括FROM中的JOIN功能:内部连接(INNER JOIN)、左外部连接(LEFT [OUTER] JOIN)、右外部连接(RIGHT [OUTER] JOIN)、完全连接(FULL [OUTER] JOIN)。

    • 支持通过EXEC调用存储过程。使用EXEC PROC传参时,允许出现传参不完整行为,此功能受参数mssql_format_behavior_compat_optionsuse_mssql_execute_gram选项控制。

  • GUC参数

    • 新增SQL Server模式数据库兼容性行为配置项mssql_format_behavior_compat_options。当其取值包含use_mssql_execute_gram时,调用存储过程时支持忽略已有默认值的入参。

    • 新增参数enable_mssql_datatype,用于控制SQL Server兼容模式下,数据类型float4的精度是否与SQL Server一致。

4、新增以下PostgreSQL兼容性:

  • 函数:

    • JSONB_PATH_QUERY_FIRST:此函数在一个给定的JSON中根据指定的路径获取值,并返回第一个匹配的值,如果没有结果则返回NULL。

    • JSONB_OBJECT_AGG:此聚合函数用于返回一个由一组键值对组成的JSON对象。

生态适配

Vastbase G100 新增适配情况如下:

CPU型号 操作系统版本信息
Intel x86 Kylin V10 SP1 desktop
H3Linux-2.0.2
KylinSec V3.5.2
海光C86 G57390 FusionOS 22
海光C86 7280 中科方德服务器操作系统NFS Security Server 4.0 (SVS2.16.2)
长扬安全操作系统CY Security Linux OS release V3.0 (B20-20230810)
海光C86 3250 UOS20 1060桌面专业版
飞腾1500a Kylin 4.0.2 SP2
飞腾2000 Kylin V10涉密专用版SVS2.15.2
鲲鹏920 Kylin V10 SP1
BCLinux for Euler-21.10
KylinSec V3.4
龙芯3B4000 Kylin V10 SVS 2.14

Vastbase Lite新增适配情况如下:

CPU型号 操作系统版本信息
Intel x86 CentOS 7
Kylin V10 SP1
openEuler 22.03 SP1
Ubuntu 22.04.2 desktop
飞腾2500 KylinSec 3.4-4
鲲鹏920 openEuler 20.03

数据字典

  • 新增GUC参数如下:

    a_format_behavior_compat_options comm_max_datanode comm_ssl enable_opfusion_reuse max_pool_size pooler_connect_max_loops
    audit_insufficient_space comm_max_receiver comm_stat_mode enable_oranumber_type minimum_pool_size pooler_connect_timeout
    audit_network_error comm_max_stream comm_tcp_mode enable_partition_joinclauses_pushdown mssql_format_behavior_compat_options pooler_maximum_idle_time
    audit_query_cancel comm_memory_pool comm_timer_mode enable_sortgroup_agg ora_illegal_nul_conversion pooler_port
    audit_tool_error comm_memory_pool_percent comm_usable_memory enable_stateless_pooler_reuse plsql_get_line_number pooler_timeout
    comm_ackchk_time comm_no_delay enable_encrypt_by_column enable_vector_targetlist plsql_implicit_recompile skewed_param_factor
    comm_client_bind comm_quota_size enable_force_reuse_connections max_archive_directory_size pooler_cancel_timeout transform_to_numeric_operators
    comm_debug_mode comm_sender_buffer_size enable_mssql_datatype max_coordinators pooler_connect_interval_time wdr_snapshot_auto_vacuum_full
  • 新增如下MySQL关键字:

    channel,非保留 cidr,非保留 engines,非保留
    mediumtext,非保留 open,非保留 replicas,非保留

特性优化

1、Vastbase逻辑复制支持DDL,当前支持的DDL包括:

  • ALTER INDEX
  • ALTER VIEW
  • CREATE/ALTER/DROP/REFRESH [INCREMENTAL] MATERIALIZED VIEW
  • CREATE/ALTER/DROP TYPE
  • CREATE/ALTER/DROP FUNCTION
  • CREATE/ALTER/DROP PROCEDURE
  • CREATE/ALTER/DROP TRIGGER
  • CREATE/DROP PACKAGE

2、支持通过以下策略改善启用wdr后产生的快照占用空间大的问题:

  • 用于控制后台线程Snapshot自动对数据库监控数据执行快照操作时间间隔的参数wdr_snapshot_interval,其最大值从60min提升为720min。适当提高此参数值可以降低采样频率。

  • 设置参数wdr_snapshot_auto_vacuum_full为on后,wdr相关统计表中的死亡元组会在原有每次的清理操作之后被清除。

3、将TRUNC函数相加减,可以输出以天为单位的计算结果。升级后,在Oracle兼容模式下此运算输出无day(s)字样的纯数字,与Oracle保持一致。

4、分区剪枝功能增强。

  • 静态剪枝

    支持的分区类型及表达式类型:

    分区类型 表达式 分区等级
    范围(Range)分区 <,<=,=,>,>=,like,any,all 一级、二级分区
    列表(List)分区 <,<=,>,>=,<>(不等于) 一级、二级分区
    哈希(Hash)分区 = 一级、二级分区
    间隔(Interval)分区 <,<=,=,>,>=,any,all 一级、二级分区
  • 动态剪枝(由GUC参数enable_runtime_prune控制,默认值为on)

    支持对Range、List、Hash、Interval分区表进行动态分区剪枝,支持的场景如下:

    • 支持PREPARE/EXECUTE语法法对一级、二级分区表动态分区剪枝。需注意查询条件需包含分区键,且条件值为参数。

    • 支持InitPlan场景的一级、二级动态分区剪枝;需注意分区键的条件为子连接,且为非相关子连接。

    • 支持Nested Loop且连接条件可下推至分区表场景的一级、二级动态分区剪枝,查询走nestloop计划,且包含分区键的条件,其中分区键存在本地分区索引。

升级须知

使用PL/Python实现自定义过程语言时,禁止使用plpy模块。

已知问题

通过DBLINK访问Oracle当子查询中包含聚集函数时,不支持子查询下推功能。

行为变更说明

模块变更项变更前变更后注意事项
远程连接根据dblink生成schema名的格式 vastbase_dblink_[serveroid]_[远端schema] vbdblink_[本地用户名]_[远端schema]
public dblink格式为vbdblinkpub_pub_[远端schema]
需调整dblink使用方式。
jdbc_fdw对应的外表列名 全部为小写字母。 大小写与Oracle的列名完全相同。 建议对jdbc_fdw对应的外表列名进行大小写排查,确保结果符合预期。
安全标记不开启三权分立时创建、删除、应用安全标记 不开启三权时任何用户无权限操作。 初始化用户或拥有poladmin属性的用户可以操作。 -
数据类型datetime类型 Oracle/PostgreSQL兼容模式下使用datetime类型时,报错提示datetime类型仅在MySQL兼容模式下支持。 在Oracle/PostgreSQL兼容模式下,datetime视作timestamp without time zone。 由于information_schema.sql中存在一条sql:create domain pg_catalog.datetime as timestamp without time zone。如果明确需要让A兼容或者PG兼容模式下禁止使用datetime作为类型,可以手动执行drop domain pg_catalog.datetime;进行删除。
NUMBER类型number关键字直接映射为number类型添加enable_oranumber_type参数控制number关键字映射为number类型还是numeric类型。需根据业务需求调整enable_oranumber_type参数值。
类型转换int4,bpchar到oraclob的类型转换 int4,bpchar类型转换为oraclob需要先转换为varchar,再转换为oraclob。 新增int4转换为oraclob,bpchar转化为oraclob的内置函数,分别为 int4_oraclob,bpchar_oraclob。 可调整int4,bpchar类型转换为oraclob的方式,使用内置函数转换。
内置包函数 DBMS_LOB.READ读取BFILE文件 offset从0开始。当offset大于文件长度时,报错“Read the file failed”。 offset从1开始。当offset大于文件长度时,报错“no data found”。 需调整业务中DBMS_LOB.READ使用方式。
系统表pg_aggregate-新增字段aggoraclestyle,表示创建聚合函数时使用的语法类型。字段数增加
pg_attribute-新增字段attextraopt,表示字段的外加属性。字段数增加
pg_publication-新增字段ignorerefreshmatview,用于控制刷新物化视图操作是否同步至订阅端。字段数增加
statement_history-新增以下字段:
  • net_send_time
  • srt1_q
  • srt2_simple_query
  • srt3_analyze_rewrite
  • srt4_plan_query
  • srt5_light_query
  • srt6_p
  • srt7_b
  • srt8_e
  • srt9_d
  • srt10_s
  • srt11_c
  • srt12_u
  • srt13_before_query
  • srt14_after_query
  • rtt_unknown
  • parent_query_id
  • 字段数增加
    GUC参数max_query_retry_times存在此参数,但不支持使用移除此参数配置项不可用,存在配置项会报错。
    plsql_get_line_number - 新增此参数,用于控制PL/SQL模块的行号计算功能,开启后在执行PL/SQL报错时会显示具体的错误行号。 新增此参数
    plsql_implicit_recompile - 新增此参数,用于控制PL/SQL隐式编译行为。开启此参数,被依赖对象会在依赖对象发生变化时自动进行隐式编译;关闭则不会进行隐式编译。 新增此参数

    缺陷修复

    安全

    【1037386】【致命】修复了修改审计相关参数audit_rotation_size、audit_space_limit 后再切换为default默认值,参数检查不通过导致数据库宕机的问题。

    【1039224】【严重】修复了audit_stop_policy开启时,多线程审计日志文件不断增加,无法停止写入的问题。

    【1037239】【严重】修复了开启/关闭全密态,执行函数打印加密表的结果与预期不一致的问题。

    1037100】【严重】修复了未开启三权分立场景下,使用初始用户vastbase创建security label报错无权限的问题。

    【1037367】【一般】修复了审计日志转储目录异常允许使用软链接的问题。

    【1037240】【一般】修复了开启全密态后,在函数中执行其他查询加密列的函数,其结果与预期不一致的问题。

    【1034952】【一般】修复了alter resource label增加脱敏策略时,报错masing policy can only operate on column object的问题。

    备份恢复

    【1036673】【严重】修复了使用vb_probackup进行基于时间点的恢复后,数据库启动失败的问题。

    【1036107】【严重】修复了vb_dump备份不指定-t时,恢复过程报错的问题。

    【1038561】【严重】修复了启用audit_tool_error审计开关后,使用vb_restore进行并行恢复时引起数据库宕机的问题。

    【1038867】【一般】修复了vb_dump导出嵌套表类型,导入时报语法错误的问题。

    【1037031】【一般】修复了vb_dump导出postgres_fdw外部表含有serial类型时,导入出现报错的问题。

    【1037023】【一般】修复了vb_dump导出DML触发器时报错“could not resolve dependency loop among these items”的问题。

    【1035684】【一般】修复了使用vb_dump导出带有多个约束的表,当有约束被禁用时,导出报错的问题。

    【1035281】【一般】修复了删除public模式后,使用vb_dumpall导出该数据库失败的问题。

    【1034535】【一般】修复了MySQL兼容模式下,当分区键为表达式且计算结果和对应列的变量类型不同时,vb_dump导出报错的问题。

    插件

    【1037351】【严重】修复了pljson插件中的get函数无法获取到值的问题。

    【1036179】【一般】修复了MySQL兼容模式下,添加pg_stat_statement插件后,调用maskPassword函数对SQL进行加密处理的逻辑错误导致SQL执行失败的问题。

    外部数据封装器

    1038303】【一般】修复了使用jdbc_fdw连接至远端Oracle时,远端表修改列类型后进行dump导出,报错提示“unrecongnized ref object type”的问题。

    【1037026】【一般】修复了创建同义词中带@dblink,vb_dump导出的SQL不正确,导入时报错的问题。

    1036932】【一般】修复了通过jdbc_fdw查询远端Oracle表,表中存在小写列名,通过dblink查询失败的问题。

    【1036599】【一般】修复了Oracle兼容模式下,通过dblink调用Oracle端的内置包函数DBMS_METADATA.GET_DDL没有返回DDL的问题。

    【1034944】【一般】修复了Oracle兼容模式下使用引号创建名字为大写形式的dblink后,无法使用和删除的问题。

    函数

    【1036087】【致命】修复了调用pg_get_object_address函数获取域约束对象地址,指定relation为空时,数据库宕机的问题。

    【1037319】【严重】修复了SQL Server兼容模式下,创建存储过程,在循环中使用convert函数时报错的问题。

    【1037265】【严重】修复了由于类型转换错误导致的递归查询时返回结果有误的问题。

    【1034498】【一般】修复了Oracle兼容模式下,to_nchar 函数嵌套RTRIM函数,查询结果与Oracle不一致的问题。

    【1029891】【一般】修复了MySQL兼容模式下使用CONVERT函数将字符串转换为float时,执行结果与MySQL不一致的问题。

    【1026719】【一般】修复了SQL Server兼容模式下,带有ISNULL函数的查询语句并未将查询结果通过order by进行排序的问题。

    【1024375】【一般】修复了MySQL兼容模式下,使用trim函数进行字符处理时输出结果与MySQL不同的问题。

    【1023359】【一般】修复了WDRSnapshot会话无法清除的问题。

    数据类型

    【1036211】【致命】修复了Oracle兼容模式下,使用LOB类型作为CREATE DOMAIN的基类型,导致数据库宕机的问题。

    【1037286】【严重】修复了SQL Server兼容模式下,向varbinary类型中插入的数据长度超出范围时未报错,与预期不一致的问题。

    【1037236】【严重】修复了enable_oralob_type为off时,向blob字段插入层次查询结果,使用length返回blob字段长度时报错的问题。

    【1037178】【严重】修复了enable_oralob_type为off时,向NCLOB类型插入数据时报错的问题。

    【1036796】【严重】修复了enable_oralob_type为off时,直接调用DBMS_LOB.INSTR函数报错的问题。

    【1036212】【严重】修复了Oracle兼容模式下使用CLOB类型创建存储过程后调用失败的问题。

    【1036176】【严重】修复了SQL Server兼容模式下未禁止datetime2到date隐式转换的问题。

    【1026940】【严重】修复了SQL Server兼容模式下,使用char以及varchar数据插入image类型的表失败的问题。

    【1037287】【一般】修复了SQL Server兼容模式下,nvarchar类型向varbinary类型转换失败的问题。

    【1036825】【一般】修复了enable_oralob_type为off时,在order by中使用to_lob函数报错的问题。

    1036611】【一般】修复了Oracle兼容模式下使用datetime作为入参变量时被识别为类型的问题。

    【1035589】【一般】修复了SQL Server兼容模式下,向bit类型插入null值报错“ERROR: bit string length0 does not match type bit(1)”的问题。

    【1034868】【一般】修复了enable_oralob_type为on时,调用DBMS_CRYPTO.ENCRYPT加密失败的问题。

    【1030520】【一般】修复了Oracle兼容模式下自定义子类型subtype时,关联数组嵌套record作为package中存储过程的入参,调用package报错的问题。

    1039782】【一般】修复了CREATE TYPE创建的复合类型中包含number类型时,无法按预期处理text或varchar等字符类型的问题。

    GUC参数

    【1039570】【致命】修复了参数behavior_compat_options在创建函数和使用函数时的值设置不同,数据库宕机的问题。

    【1039301】【致命】修复了参数behavior_compat_options中添加proc_outparam_override时,查看序列属性失败的问题。

    【1040045】【严重】修复了设置参数enable_oranumber_type为off时,对package重建后仍指向旧number类型的问题。

    【1038320】【严重】修复了MySQL兼容模式下参数lower_case_column_names设为0开启大小写敏感无效的问题。

    【1037324】【严重】修复了MySQL兼容模式下,设置lower_case_table_names为1时,\d元命令无法查看表信息的问题。

    【1036593】【严重】修复了SQL Server兼容模式下,设置enable_set_variable_mssql_format为on时,OUTER APPLY语法与@变量交互,且变量出现在CTE查询中,多次查询结果不一致的问题。

    【1036503】【严重】修复了开启vastbase_login_info参数,且pg_vastbase_login_info数量较多时登录耗时久的问题。

    【1036173】【严重】修复了behavior_compat_options='block_return_multi_results'时,调用的存储过程包含游标导致数据库宕机的问题。

    【1039547】【严重】修复了设置behavior_compat_options='proc_outparam_override'时,对于非PL/SQL函数也进行了重载的问题。

    【1038319】【一般】修复了MySQL兼容模式下,开启列名大小写敏感,关闭表名大小写敏感,使用大写表别名进行查询报错的问题。

    【1036074】【一般】修复了参数enable_partition_opfusion为true时,向range分区表插入的数据未被分区的问题。

    【1035671】【一般】修复了MySQL兼容模式下,lower_case_table_names为1时,无法使用\d 大写表名查看表/视图的问题。

    【1035165】【一般】修复了SQL Server兼容模式下,设置behavior_compat_options=block_return_multi_results后返回结果与预期不符的问题。

    【1034470】【一般】修复了MySQL兼容模式下,参数lower_case_table_names设置为1时,查询语句返回的列别名不区分大小写,与预期结果不一致的问题。

    【1029569】【一般】修复了MySQL兼容模式下,lower_case_table_names为1即关闭对象名大小写敏感时,\d元命令后跟大写对象名时无法返回对象信息的问题。

    驱动

    【1040207】【致命】修复了ODBC连接数据库时,以PBE方式插入sql_variant类型数据引起数据库宕机的问题。

    【1040206】【1040205】【1040203】【致命】修复了ODBC连接数据库时,插入varbinary类型的数据时数据库宕机的问题。

    【1039376】【严重】修复了JDBC连接数据库时,在一个连接里面多次开启事务、提交、开启事务,再次执行存储过程时报错“Received resultset tuples, but no field structure for them”的问题。

    【1033670】【严重】修复了JDBC连接数据库时,调用存储过程无数据返回,多次调用出现提示“there is already a transaction in progress”的问题。

    【1035039】【一般】修复了JDBC连接数据库时,在preparestatement中使用image类型后数据未发生更新的问题。

    【1035667】【一般】修复了JDBC连接数据库时,开启参数func_colname_with_args导致通过JDBC查询数据库时连接断开的问题。

    SQL语句

    【1035558】【致命】修复了同时开启多个数据库连接并在每个会话中执行一条INSERT语句,导致数据库实例宕机的问题。

    【1039665】【严重】修复了向分区表批量插入数据时,在判断是否表达式分区键时用了较多时间,导致其性能比普通表慢3倍左右的问题。

    【1037274】【严重】修复了递归查询内置函数的参数是空值时查询报错的问题。

    【1037060】【严重】修复了创建视图后使用\d+元命令查看视图定义报错的问题。

    【1036058】【严重】修复了SQL Server兼容模式下,在匿名块中使用方括号分隔符时报错的问题。

    【1035806】【严重】修复了Oracle兼容模式下创建视图时报错“parseNodeString():badly format node string”的问题。

    【1035730】【严重】修复了带生成列的INSERT ALL/FIRST场景下语句执行失败的问题。

    【1035617】【严重】修复了在存储过程中使用DBMS_AQADM功能时后台日志中出现job相关报错的问题。

    【1034767】【严重】修复了使用insert all向表中插入数据时存在内存泄露的问题。

    【1036916】【一般】修复了start with语句中含有rownum的递归查询报错的问题。

    【1036912】【一般】修复了start with 含有level = 常量表达式的递归查询的返回结果与Oracle不一致的问题。

    【1036906】【一般】修复了connect by语句,使用level生成序列,connect_by_root 1语义解析时报错的问题。

    【1036904】【一般】修复了create table as的SQL语句是递归查询时,创建表失败的问题。

    【1036883】【一般】修复了start with 含有level is null的递归查询执行失败的问题。

    【1036869】【一般】修复了含有connect by root的递归查询执行失败的问题。

    【1036867】【一般】修复了递归查询where条件含有or且含有伪列的SQL执行失败的问题。

    【1036866】【一般】修复了使用递归查询创建视图,且递归查询基表做连接的SQL时,调用定义失败的问题。

    【1036863】【一般】修复了递归查询含有start with语句,使用递归查询创建视图,查看的视图定义与预期不符的问题。

    【1036836】【一般】修复了\h create foreign table查看的语法帮助信息有误的问题,实际外表不支持创建索引。

    【1036053】【一般】修复了SQL Server兼容模式下,对象使用方括号分隔符,创建自定义类型失败的问题。

    【1035167】【一般】修复了PostgreSQL兼容模式下嵌套聚集的重写不支持filter的报错不合理的问题。

    【1034536】【一般】修复了MySQL兼容模式下,分区键是表达式,使用copy导入数据后数据未分区的问题。

    【1034315】【一般】修复了list分区有多个分区键时不支持创建default分区的问题。

    【1034211】【一般】修复了SQL Server兼容模式下,标识符为unicode字符,无法切换至使用方括号分隔符创建的数据库下的问题。

    【1033979】【一般】修复了MySQL兼容模式下,在连接子查询中的别名中使用单引号时查询失败的问题。

    【1033956】【一般】修复了MySQL兼容模式下,在子查询中使用形如select xx '字符串'的写法时语句报错的问题。

    【1033891】【一般】修复了MySQL兼容模式下,select list别名的单引号内使用超长字符串时,字符串被截断后未按预期给出提示的问题。

    【1033846】【一般】修复了Oracle兼容模式下,执行上层含有over by rownum聚集函数,且下层的递归查询含有order siblings by的SQL时查询结果有误的问题。

    【1033769】【一般】修复了SQL Server兼容模式下,不支持在UPDATE语句中使用形如#tablename的临时表写法的问题。

    【1032340】【一般】修复了刷新物化视图时提示权限不足,需要索引权限的问题。

    【1030701】【一般】修复了PostgreSQL兼容模式下,使用alter table…attach partition语法时,list分区无法触发attach分区范围冲突的问题。

    【1030269】【一般】修复了PostgreSQL兼容模式下,使用PG风格的分区表声明方式时,分区表顶层创建触发器,插入数据报错“partition does not exists”的问题。

    【1026320】【一般】修复了MySQL兼容模式下,通过insert into select语法向表中添加数据失败的问题。

    【1025636】【一般】修复了MySQL兼容模式下,使用UPDATE多表更新功能时,如果一个表的列名和另一个表的表名相同,使用UPDATE更新表数据失败的问题。

    【1024680】【一般】修复了MySQL兼容模式下,使用\h元命令查看ALTER TABLE的语法帮助时未提及“alter table … change”用法的问题。

    【1024593】【一般】修复了在除Oracle以外的其他兼容模式下,使用month、percent、content、password作为列别名且不加as时查询失败的问题。

    【1023525】【一般】修复了使用\h元命令查看SELECT语法的帮助信息时未显示FOR UPDATE子句的[WAIT N]选项的问题。

    【1034385】【提示】修复了Oracle兼容模式下使用SELECT … FOR UPDATE锁定子句时无法锁定物化视图中的行,报错信息不合理的问题。

    PL/SQL

    1039513】【严重】修复了PL/SQL中执行删除TYPE操作时耗时过久的问题。

    【1037171】【严重】修复了Oracle兼容模式下,创建大写列名的存储过程和表,执行存储过程报错不存在的问题。

    1037990】【严重】修复了使用DBMS_LOB.READ(bfile)子程序读取BFILE类型的文件时数据错误的问题。

    1036563】【严重】修复了创建带有segment = on 的表,在Oracle兼容模式下使用存储过程循环插入数据,执行过程卡住的问题。

    【1036094】【严重】修复了由于PL/pgSQL和Vastbase数据库相关的编译和依赖问题所导致的备份恢复失败的问题。

    【1036085】【严重】修复了函数重载时函数和参数的依赖关系记录在vb_dependencies中的问题。

    【1036065】【严重】修复了PL/SQL中包依赖视图,当视图无效时创建包成功,与预期不符的问题。

    【1035586】【严重】修复了使用全局缓存功能时,多会话匿名块调用包中存储过程时各会话均报错的问题。

    【1035544】【严重】修复了Oracle兼容模式下,视图依赖包A函数,包A函数依赖表,删除表后视图有效性仍为t(rue)的问题。

    【1035511】【严重】修复了Oracle兼容模式下,在PL/SQL中创建的函数依赖视图,当视图无效时函数依然创建成功,与预期不符的问题。

    【1035506】【严重】修复了Oracle兼容模式下,包A存储过程依赖包B内公有变量,包B内公有变量依赖视图,重建视图后调用包A存储过程报错的问题。

    【1035189】【严重】修复了Oracle兼容模式下执行包含其他类型向oraclob类型转换的PL/SQL时效率过低的问题。

    【1035058】【严重】修复了子程序(subprogram)引用父程序的变量时出现报错的问题。

    【1037102】【一般】修复了SQL Server兼容模式下,存储过程中执行动态语句删除临时表时报错的问题。

    【1037071】【一般】修复了SQL Server兼容模式下,存储过程执行动态SQL报错,以及出现输出结果不符合预期的问题。

    【1033987】【一般】修复了SQL Server兼容模式下,存储过程支持@var形式的出入参,动态调用存储过程,打印@var结果为空的问题。

    【1038011】【一般】修复了创建package时使用dbms_sql.define_column(integer, integer, date),报错此功能不存在的问题。

    【1033444】【一般】修复了子程序(subprogram)中含注释时,子程序创建失败的问题。

    【1030484】【一般】修复了MySQL兼容模式下,#注释在存储过程匿名块的end前一行时,执行存储过程报错的问题。

    【1029449】【一般】修复了SQL Server兼容模式下使用execute immediate同时执行多条查询语句无返回结果的问题。

    【1027948】【一般】修复了package中函数带有自治事务,创建成功后调用报错“define has been changed,please retry”的问题。

    【1035337】【提示】修复了vb_dependencies表中的依赖对象为变量时,字段refobjecttype的Unknown拼写错误的问题。