MatrixOne v26.3.0.15 发布说明¶
发布日期:2026 年 7 月 6 日 MatrixOne 版本:v26.3.0.15
MatrixOne 3.0.15 是一个功能与稳定性版本。此版本新增了 10 个 SQL 函数(RIGHT、QUOTE、DAYNAME、MAKETIME、MONTHNAME、QUARTER、TIME_FORMAT,以及已有 HOUR/MINUTE/SECOND 的扩展测试覆盖),引入了 POSITION(substr IN str) 语法作为 LOCATE() 的同义形式,支持 COALESCE 和 BETWEEN 的 DECIMAL256 类型,增强了 GRANT 权限作用域语义,支持全文索引的 join 重写,改进了 CDC 任务暂停的可靠性,修复了 Parquet 加载中 STRING 到 DATETIME/VECTOR 的转换问题,并包含若干 bug 修复。
新功能¶
新增 SQL 函数:RIGHT、QUOTE(#24694、#24753)¶
RIGHT(str, len)— 返回字符串str最右边的len个字符。支持负数长度(返回空字符串)和 Unicode 多字节字符。QUOTE(str)— 对字符串进行 SQL 安全引号包裹和转义,转义单引号、反斜杠和控制字符。
新增日期时间函数:DAYNAME、MAKETIME、MONTHNAME、QUARTER、TIME_FORMAT(#24757)¶
DAYNAME(date)— 返回完整星期名称(如'Monday'、'Saturday')。MAKETIME(hour, minute, second)— 构造TIME值,小时最多 838,与 MySQL 行为一致。MONTHNAME(date)— 返回完整月份名称(如'January'、'December')。QUARTER(date)— 返回日期的季度值(1–4)。TIME_FORMAT(time, format)— 使用格式说明符(%H、%i、%s、%r、%T、%p等)格式化TIME值。
POSITION(substr IN str) 语法(#24775)¶
新增
POSITION(substr IN str)语法,作为LOCATE(substr, str)的同义形式,兼容 MySQL 和标准 SQL 语法。POSITION形式不支持起始位置参数。
COALESCE 和 BETWEEN 的 DECIMAL256 支持(#24841)¶
COALESCE()现在支持DECIMAL256输入,并在所有分支间正确对齐 decimal 精度,避免操作数精度不同时出现错误结果。BETWEEN现在支持DECIMAL256比较。
改进¶
GRANT 权限作用域语义(#24752、#24936)¶
全局表的
GRANT OPTION ON *.*现在可正确级联到更窄的作用域(db.* 和 db.table)。此前,拥有GRANT OPTION ON *.*的用户无法在特定数据库或表上重新授权。View 权限检查现在使用精确对象匹配而非宽泛作用域查找,防止跨数据库权限泄漏。
SET SECONDARY ROLE ALL不再意外更改当前主角色,仅按文档所述激活次要角色。
全文索引 Join 重写支持(#24886)¶
全文索引重写规则现在支持 join 查询,在全文搜索与表 join 结合时能高效执行。
CDC 任务暂停可靠性改进(#24804)¶
对已暂停的 CDC 任务再次暂停现在为幂等操作(直接返回成功,不报错)。
新增暂停完成钩子,确保 CDC 任务暂停完成时 catalog 状态原子更新。
CDC 任务暂停使用
pausing中间状态,提供更好的可见性和一致性。
Parquet 加载:STRING 到 DATETIME/VECTOR 转换修复(#24938)¶
修复了 Parquet 加载中,可选 STRING 列无法加载到可空
DATETIME或VECTOR(VECF32/VECF64)列的问题。现在此类列可正确加载。
更好的错误信息¶
数据库未找到和表未找到错误现在使用特定错误码(
ErrBadDB、ErrNoSuchTable),而非通用内部错误,提高了错误的可读性。
Bug 修复¶
数据分支:CREATE TABLE CLONE SQL 修复(#24958)¶
修复了 3.0 分支上
DATA BRANCH CREATE TABLE ... CLONESQL 生成不正确的问题。
数据分支:结果转换修复(#24876)¶
修复了 3.0 开发分支上数据分支结果转换的问题。
事务:清理 Rollback 修复(#24781)¶
修复了连接清理时通过已取消的上下文调用 rollback 可能导致事务 operator 状态泄漏的边缘情况。
Decimal 除法截断修复(#24707)¶
修复了 decimal 整数除法可能错误截断结果的问题。
系统变量表达式折叠修复(#24802)¶
修复了系统变量表达式(如
@@sql_mode)在远程执行前未正确折叠,导致多 CN 部署中结果不正确的问题。
兼容性说明¶
SET SECONDARY ROLE ALL不再更改主角色。如果之前依赖此副作用,请使用SET ROLE <role_name>显式切换主角色。全局
GRANT OPTION ON *.*现在可授权更窄作用域的权限授予,可能影响现有权限配置。View 权限检查现在更严格;对 view 的授权现在需要精确的对象级别权限,而非宽泛作用域匹配。
COALESCE()的 decimal 精度对齐修复可能在操作数精度差异较大时产生不同的(正确的)结果类型。
文档同步说明¶
本文档由文档同步 Agent 根据 MatrixOne 源码 diff 自动生成,并通过 PR 进行人工审核。