MariaDB 13正式发布并增强Oracle兼容性与可观测性
MariaDB Community Server 13.0已正式达到GA阶段,成为可用于生产环境的稳定版本。本次更新涵盖过程式SQL能力、数据操作语言(DML)、查询优化、服务器管理和性能等多个方面,但其定位仍是滚动发布版本,并非长期支持(LTS)版本。
为降低Oracle PL/SQL企业应用的迁移成本,MariaDB 13原生加入REF CURSOR和RECORD类型,并允许它们作为包内例程的参数或函数返回类型。REF CURSOR同时支持弱类型和强类型,可被打开、读取和关闭,也能作为局部变量使用。
RECORD不再局限于局部变量,还可用于存储例程参数及存储函数的返回结果,并能与REF CURSOR配合处理结构化行数据。不过,目前这两类类型仍不能作为非包级全局例程的参数或返回类型。
数据修改结果的获取方式也得到扩展。UPDATE现在支持RETURNING子句,结合OLD_VALUE()后,应用可在一次数据库往返中同时取得修改前后的数据。此前RETURNING只用于INSERT和DELETE,而当前对UPDATE的支持仍限定在单表语句。
查询优化器继续完善MariaDB 12引入的Hint框架。系统会自动为View、CTE和派生表分配查询块名称,开发者无需显式调用QB_NAME()即可定位这些对象;同时,QB_NAME定位器新增路径写法,可处理深层嵌套查询块,弥补仅按名称定位的不足。
在管理和可观测性方面,init_rpl_role从启动选项扩展为系统变量,复制角色可通过SHOW VARIABLES或@@init_rpl_role直接检查。I_S.STATISTICS与I_S.COLUMNS新增CREATE_OPTIONS列,用于程序化读取存储引擎相关的索引和列选项;I_S.SYSTEM_VARIABLES也增加了标识系统变量是否弃用的字段。
MariaDB的发布策略强调持续提供新能力,而不是以长期稳定版本为目标。后续规划中的LTS版本为MariaDB 13.3。
本文基于公开渠道信息整理,内容可能存在不准确或遗漏之处,不代表本站立场,如内容涉及侵权或错误,请联系我们处理。
阅读原文