MatrixOne v26.3.0.14 发布报告
发布日期:2026 年 6 月 2 日
MatrixOne 版本:v26.3.0.14
MatrixOne 3.0.14 是一个功能与稳定性版本。本次发布新增了五个数学函数(SIGN、TRUNCATE、RADIANS、DEGREES、ATAN2),引入了 PostgreSQL 风格的 UPDATE ... FROM 语法,增强了 Hive 分区 Parquet 外表支持,新增 MySQL 兼容的 ORDER BY NULL / GROUP BY NULL 处理,支持 SUM() 对布尔表达式求值,并修复了 REPLACE 多唯一键冲突、ASIN/SQRT 域外输入处理以及 data branch hashdiff 一致性等多个问题。
新功能
新增数学函数:SIGN、TRUNCATE、RADIANS、DEGREES、ATAN2(#24650, #24660, #24634, #24609, #24603)
SIGN(X)— 返回X的符号:负数为 -1,零为 0,正数为 1。TRUNCATE(X, D)— 将X截断到D位小数,不作四舍五入。RADIANS(X)— 将X从度转换为弧度(X * PI() / 180)。DEGREES(X)— 将X从弧度转换为度(X * 180 / PI())。ATAN2(Y, X)— 返回Y/X的反正切(弧度表示),利用两个参数的符号确定所在象限。
PostgreSQL 风格 UPDATE ... SET ... FROM ... WHERE(#24657)
UPDATE语句现支持 PostgreSQL 风格的FROM从句,可引入额外的只读连接源。目标表被更新,FROM从句中的表作为连接源使用且不会被修改。ORDER BY和LIMIT不支持与此语法共用。- 支持
FROM从句中使用 CTE(如WITH ... UPDATE ... FROM ...)、嵌套JOIN树(包括LEFT JOIN)以及目标表与源表共用同一表的自连接。
改进
增强 Hive 分区 Parquet 外表支持(#24677)
- 新增 Hive 风格分区 Parquet 外表支持,包含分区列表缓存(
hive_partition_cache_ttl、hive_partition_cache_max_entries、hive_partition_cache_max_bytes系统变量)。 - 新增
hive_partition_list_concurrency系统变量,用于控制分区列表的并发度。 - 新增
ivf_preload_entries系统变量,用于 IVF 索引条目预加载。
MySQL 兼容:ORDER BY NULL / GROUP BY NULL(#24610)
ORDER BY NULL和GROUP BY NULL现作为空操作子句,与 MySQL 行为一致:NULL在这些子句中表示禁用排序或分组。
SUM() 支持布尔表达式(#24625)
SUM()现支持布尔表达式。TRUE视为 1,FALSE视为 0,与 MySQL 行为一致。
CASE/IF 中 Decimal 类型提升(#24589)
- 改进了
CASE WHEN、IF()、COALESCE()表达式中的 decimal 类型提升逻辑。当操作数具有不同的小数位数时,结果类型现在能正确提升到更宽的位数,必要时可达DECIMAL256。此前位数不匹配可能导致结果不正确。
Bug 修复
ASIN/SQRT 域外输入处理(#24563)
ASIN(X)当|X| > 1以及SQRT(X)当X < 0时,现在正确返回NULL,而非崩溃或返回无效结果。
REPLACE:一行与多行旧记录冲突修复(#24663)
- 修复了在含有多个唯一键的表中执行
REPLACE时,新插入的单行可能通过不同唯一键与多行已有记录冲突时处理不当的问题。
Data Branch Hashdiff 一致性修复(#24391)
- 修复了 3.0 分支上
DATA BRANCH DIFFhashdiff 计算的对齐问题,确保 diff 结果一致。
事务写顺序保持(#24574)
- 修复了 workspace 合并后事务写顺序可能丢失的问题,确保写操作维持原有顺序。
Lock Service:清理过期 Range Waiter(#24640)
- 修复了锁服务中过期 range waiter 可能累积导致悲观事务锁获取卡住的问题。
多 CN 下 SQL Task 元数据可见性(#24690)
- 修复了多 CN 部署时 SQL task 元数据可见性问题,确保各 CN 节点间 task 状态跟踪一致。
Data Branch 事务错误信息优化(#24698)
- 优化了在显式事务中执行 data branch 操作时的错误信息,明确提示 data branch DDL 不支持在多语句事务中使用。
兼容性说明
ORDER BY NULL和GROUP BY NULL现作为空操作处理(与 MySQL 行为一致),此前的行为可能有所不同。ASIN()和SQRT()现在对域外输入返回NULL而非可能崩溃;依赖旧行为的查询可能需要调整。- 新增系统变量(
hive_partition_cache_*、hive_partition_list_concurrency、ivf_preload_entries)可用于调优,默认值保持安全。
关于本文档
本文档由文档同步 Agent 根据 MatrixOne 源码 diff 自动生成,并通过 PR 进行人工审核。