MatrixOne v26.4.1.0 发布说明¶
发布日期:2026 年 7 月 13 日 MatrixOne 版本:v26.4.1.0 (v4.1.0)
MatrixOne v26.4.1.0 是基于 v4.0.0-rc4 的功能版本。此版本新增了 SQL 任务调度与执行框架、数据分支细粒度权限模型、可写外部表支持,引入了新 SQL 函数(hll_add_agg()、hll_merge_agg()、hll_cardinality()、JSON_ARRAY()、JSON_OBJECT()、JSON_KEYS()、JSON_LENGTH()、JSON_PRETTY()、JSON_TYPE()、JSON_VALID()、JSON_VALUE()、JSON_SCHEMA_VALID()、JSON_SCHEMA_VALIDATION_REPORT(),以及 S2/H3 地理空间网格函数),扩展了 DOUBLE PRECISION 类型别名与 REPLACE 语法,并对 UPDATE ... FROM、ON DUPLICATE KEY UPDATE、RENAME TABLE、CREATE TABLE ... LIKE、全文索引、向量索引、LOAD DATA、GREATEST/LEAST、CN 健康检查等多个方面进行了改进与修复。
新功能¶
SQL 任务调度与执行(#24539)¶
MatrixOne 现已支持完整的 SQL 任务管理系统,提供以下语句:
CREATE TASK:创建带 cron 调度表达式或WHEN门控条件的定时任务。WHEN子句支持子查询,确保仅在满足前置条件时执行。ALTER TASK:修改已有任务的调度、条件或属性。DROP TASK:删除任务。EXECUTE TASK:手动触发任务执行。SHOW TASKS:查看所有任务及其状态。SHOW TASK RUNS:查看任务执行历史记录。
任务框架内置了重试逻辑、超时控制和多租户隔离,适用于数据归档、周期性报表生成和条件驱动的数据同步等场景。
数据分支权限模型(#24875)¶
所有 DATA BRANCH 命令现已引入操作级的细粒度权限检查。每种分支操作(CREATE、DIFF、MERGE、PICK)在执行前分别校验源对象的读取权限与目标对象的写入/管理权限。新增 SET GLOBAL protected_databases 可声明受保护数据库列表,阻止对其执行非授权的数据分支操作。
可写外部表(#24889)¶
外部表现在支持通过 INSERT ... SELECT 和 LOAD DATA 将数据写入 Stage 文件。输出格式支持 CSV 和 JSONLine,可通过 WRITE_FILE_PATTERN 选项控制文件命名。所有列类型均可完整读写往返。写入操作支持多 pipeline 分发与多 CN 并行写入。
新增 SQL 函数:hll_add_agg()、hll_merge_agg()、hll_cardinality()、JSON_ARRAY()、JSON_OBJECT()、JSON_KEYS()、JSON_LENGTH()、JSON_PRETTY()、JSON_TYPE()、JSON_VALID()、JSON_VALUE()、JSON_SCHEMA_VALID()、JSON_SCHEMA_VALIDATION_REPORT()、S2_CellID()、S2_CellID_Level()、S2_CellID_Parent()、S2_CellID_Center()、S2_CellID_Area()、S2_CellID_EdgeNeighbors()、S2_CellID_AllNeighbors()、S2_CellID_AreNeighbors()、H3_H3Index()、H3_H3Index_Resolution()、H3_H3Index_Parent()、H3_H3Index_Center()、H3_H3Index_Boundary()、H3_H3Index_Neighbors()、H3_H3Index_AreNeighbors()¶
HLL Sketch 函数(#24611)¶
hll_add_agg():聚合函数,将多行值合并为 HyperLogLog sketch。hll_merge_agg():聚合函数,合并多个 HLL sketch。hll_cardinality():从 HLL sketch 估算基数。
JSON 函数(#24742)¶
JSON_ARRAY():从一组值构造 JSON 数组。JSON_OBJECT():从键值对构造 JSON 对象。JSON_KEYS():返回 JSON 对象或数组的顶层键/索引。JSON_LENGTH():返回 JSON 文档的长度。JSON_PRETTY():格式化输出 JSON 文档。JSON_TYPE():返回 JSON 值的类型名。JSON_VALID():检查字符串是否为合法 JSON。JSON_VALUE():从 JSON 文档中按路径提取标量值。JSON_SCHEMA_VALID():按 JSON Schema 校验 JSON 文档。JSON_SCHEMA_VALIDATION_REPORT():返回 JSON Schema 校验的详细报告。
S2 和 H3 地理空间网格函数(#25065)¶
新增 S2 球面几何 S2_CellID()、S2_CellID_Parent()、S2_CellID_Center()、S2_CellID_Area()、S2_CellID_Level()、S2_CellID_EdgeNeighbors()、S2_CellID_AllNeighbors()、S2_CellID_AreNeighbors() 与 H3 六边形网格 H3_H3Index()、H3_H3Index_Parent()、H3_H3Index_Center()、H3_H3Index_Boundary()、H3_H3Index_Resolution()、H3_H3Index_Neighbors()、H3_H3Index_AreNeighbors() 函数:
S2 函数:
S2_CellID(lat, lng):返回经纬度对应的 S2 Cell ID。S2_CellID_Parent(cell_id, level):返回指定级别的父 Cell ID。S2_CellID_Center(cell_id):返回 Cell 的中心经纬度坐标。S2_CellID_Area(cell_id):返回 Cell 的近似面积,单位为平方米。S2_CellID_Level(cell_id):返回 Cell 的级别。S2_CellID_EdgeNeighbors(cell_id):返回边缘相邻的 Cell ID 列表。S2_CellID_AllNeighbors(cell_id):返回所有相邻(含对角)的 Cell ID 列表。S2_CellID_AreNeighbors(cell_id_a, cell_id_b):判断两个 Cell 是否相邻。
H3 函数:
H3_H3Index(lat, lng, resolution):返回给定坐标和分辨率的 H3 索引。H3_H3Index_Parent(h3_index, resolution):返回指定分辨率的父 H3 索引。H3_H3Index_Center(h3_index):返回 H3 六边形的中心坐标。H3_H3Index_Boundary(h3_index):返回 H3 六边形的边界坐标列表。H3_H3Index_Resolution(h3_index):返回 H3 索引的分辨率。H3_H3Index_Neighbors(h3_index):返回相邻的 H3 索引列表。H3_H3Index_AreNeighbors(h3_index_a, h3_index_b):判断两个 H3 索引是否相邻。
DOUBLE PRECISION 类型别名(#25109)¶
DOUBLE PRECISION 现可作为 DOUBLE(即 float64)的同义词,提升与标准 SQL 及 PostgreSQL 的类型兼容性。
MySQL REPLACE 语法扩展(#25083)¶
REPLACE 语句现已扩展支持更多与 MySQL 兼容的语法形式,包括 LOW_PRIORITY 和 DELAYED 修饰符、PARTITION 子句,以及 REPLACE ... SET col1=val1, col2=val2, ... 和 REPLACE ... SELECT ... 等语法变体。
改进¶
PostgreSQL 风格 UPDATE … FROM(#24536)¶
UPDATE 语句现在支持 PostgreSQL 风格的 FROM 子句,允许在 UPDATE 中基于多表连接指定更新目标行。语法:UPDATE target SET ... FROM t1, t2 WHERE join_condition;
ON DUPLICATE KEY UPDATE 现代化(#24973)¶
ON DUPLICATE KEY UPDATE 子句内部逻辑已重构,提升了唯一键冲突处理的一致性与性能,更好地与 MySQL 行为对齐。
链式 RENAME TABLE(#24470)¶
RENAME TABLE 现在支持链式重命名多条语句,在一次原子操作中对多张表执行一系列重命名。
CREATE TABLE IF NOT EXISTS … LIKE(#25119)¶
CREATE TABLE 现已支持 IF NOT EXISTS 与 LIKE 的组合语法:CREATE TABLE IF NOT EXISTS new_tbl LIKE existing_tbl;。若同名表已存在则静默成功而不报错。
Prefix Index DML 支持¶
带前缀索引的表现在支持完整的 DML 操作(INSERT、UPDATE、DELETE),而不再仅限于查询。
RESTORE FROM PITR ACCOUNT 子句(#24591)¶
PITR 恢复语句新增 ACCOUNT 子句,支持按账户粒度执行时间点恢复。
LOAD DATA 增强¶
LOAD DATA 在选项解析、类型推断和错误处理方面进行了多项改进,提升了大数据量导入的稳定性与性能。
全文索引增强(#24884、#24297)¶
全文索引在索引构建性能、查询精度和模式匹配方面进行了改进。新增对更多查询算子的支持。
受保护数据库(#25027)¶
引入系统级受保护数据库机制,防止关键系统数据库(如 mo_catalog)被误删除或修改,同时保留授权管理操作的通道。
向量索引插件框架(#24443)¶
实现可插拔的向量索引框架,允许第三方向量索引库以插件方式集成,为多种 ANN(近似最近邻)搜索算法提供统一接口。
GREATEST() / LEAST() 数值类型提升(#25145)¶
GREATEST() 和 LEAST() 函数现在对数值参数应用更准确的类型提升规则,自动将不同数值类型的参数统一为最宽泛的类型后再进行比较,与 MySQL 行为一致。
CN 健康断路器(#25073)¶
新增 CN(Compute Node)健康检查断路器机制。当 CN 节点连续健康检查失败超过阈值时,自动将其从服务列表中摘除,防止故障 CN 影响整体集群可用性。
Bug 修复¶
DELETE with JOIN 修复(#25125):修复了
DELETE ... USING ... JOIN在特定多表删除场景下目标行定位错误的 bug。DROP INDEX IF EXISTS 修复(#25006):修复了
DROP INDEX IF EXISTS在索引不存在时未正确静默失败的 bug。event_scheduler变量修复(#25020):修复了event_scheduler系统变量读取与设置行为不符合预期的 bug。SELECT … FOR UPDATE 对齐(#24427):修复了
SELECT ... FOR UPDATE在事务隔离和行锁语义上与 MySQL 不兼容的问题。LOCK TABLES 事务内支持(#24421):修复了事务内部
LOCK TABLES导致隐式提交或死锁的问题,现在支持事务内加锁。LIMIT 0 处理(#24455):修复了
LIMIT 0子句在特定查询计划下可能返回行的 bug。ORDER BY/GROUP BY NULL 支持(#24426):修复了
ORDER BY NULL和GROUP BY NULL被拒绝执行的问题,现在按标准 SQL 语义静默忽略。
兼容性说明¶
DOUBLE PRECISION现为DOUBLE的有效同义词,使用此语法的应用可直接运行。REPLACE语句支持SET和SELECT语法变体,与 MySQL 更兼容。UPDATE ... FROM采用 PostgreSQL 语法风格,从 MySQL 迁移的用户需注意适配。数据分支操作现在执行操作级权限检查,之前绕过权限的应用需调整权限配置。
ON DUPLICATE KEY UPDATE行为已更新以更接近 MySQL,依赖旧行为的场景请验证。GREATEST()和LEAST()类型提升规则已调整,涉及混合类型的查询输出可能发生变化。
关于本文档¶
本文档由文档同步 Agent 根据 MatrixOne 源码 diff 自动生成,并通过 PR 进行人工审核。