MatrixOne v26.4.2.0 发布说明¶
发布日期:2026年8月26日 MatrixOne 版本:v26.4.2.0(v4.2.0)
MatrixOne v26.4.2.0 引入了强制执行的 CHECK 约束、MySQL 兼容的 ALTER TABLE ... ALGORITHM/LOCK 子句、Iceberg 与 MongoDB 外表、MERGE INTO 与 RETURNING 语句、若干新的系统变量,以及一批新的聚合、JSON、日期时间与工具函数。
新功能¶
强制执行 CHECK 约束:
CHECK约束现在在写入时强制执行。违反约束的行会抛出约束违反错误,NULL值通过检查,INSERT IGNORE跳过违反的行,REPLACE、ON DUPLICATE KEY UPDATE与CREATE TABLE AS SELECT均会强制执行该约束。ALTER TABLE ... ALGORITHM与LOCK子句:ALTER TABLE现在接受 MySQL 兼容的ALGORITHM {DEFAULT | INSTANT | INPLACE | COPY}和LOCK {DEFAULT | NONE | SHARED | EXCLUSIVE}子句。ADD COLUMN和DROP COLUMN等重建操作要求ALGORITHM=COPY;不兼容的组合会被拒绝并返回解释性错误。Iceberg 外部数据(策略门控):
CREATE ICEBERG CATALOG注册 Apache Iceberg REST 目录,CREATE EXTERNAL TABLE ... ENGINE=ICEBERG将 MatrixOne 表映射到目录中的表,SHOW ICEBERG CATALOGS列出已注册目录。Iceberg 代码默认关闭全部 gate,而随包etc/launch/cn.toml会启用读/写/DML/删除 gate;无论使用哪种配置,在注册 principal mapping 和 residency policy 前访问都会 fail-closed。MongoDB 外部数据(allowlist 门控):
CREATE MONGODB CONNECTION注册 MongoDB 连接,CREATE EXTERNAL TABLE ... ENGINE=MONGODB将 MatrixOne 表映射到 MongoDB 集合。v4.2.0 构造器默认启用连接器,但主机名/CIDR allowlist 默认为空,因此端点访问仍然 fail-closed。内置 resolver 要求账号作用域的secret://env/MO_MONGODB_...凭据。v4.2.0 已知问题:SHOW MONGODB CONNECTIONS会返回权限定义内部错误,无法列出连接。Iceberg 与 MongoDB 生命周期:
ALTER ICEBERG CATALOG/DROP ICEBERG CATALOG、SHOW ICEBERG NAMESPACES/SHOW ICEBERG TABLES以及ALTER MONGODB CONNECTION/DROP MONGODB CONNECTION用于管理和查看已注册的外部数据元数据。INSERT OVERWRITE增加了 Iceberg 写入能力,并支持可选的静态PARTITION(field = literal, ...)选择。数据分支输出表与 schema evolution:
DATA BRANCH DIFF ... OUTPUT AS table将差异持久化为普通表,并增加冲突安全的来源/标记元数据列。DIFF 和 MERGE 只接受能够证明列血缘且类型、可空性和键定义兼容的 schema 变更。向量索引覆盖列:IVFFLAT、CAGRA 和 IVFPQ 索引支持
INCLUDE(column_list),用于为覆盖查询存储额外的非向量列,这些列不参与距离计算。MERGE INTO:对 Iceberg 表执行行级合并操作,更新或删除匹配的行,并插入不匹配的行。必须显式启用 Iceberg 写入、DML 和删除能力。RETURNING:返回受支持的单表INSERT、UPDATE、DELETE语句的最终行镜像。返回列表可以使用目标表列和确定性标量表达式;聚合函数、old/new伪命名空间以及不支持的 DML 变体会被拒绝。ANALYZE TABLE、DUMP TABLE、LOAD TABLE、PERFORM:ANALYZE TABLE收集列统计信息并支持可选的列列表;DUMP TABLE与LOAD TABLE通过local、file://或stage://路径导出和重新加载表数据;PERFORM执行SELECT,但仅在客户端响应中抑制结果行(启用保存结果后仍可通过RESULT_SCAN访问)。新函数:
APPROX_PERCENTILE()、MAX_BY()、MAX_BY_NON_NULL()、DATE_TRUNC()、JSON_CONTAINS()、JSON_CONTAINS_PATH()、JSON_MERGE_PATCH()、JSON_MERGE_PRESERVE()、JSON_OVERLAPS()、JSON_REMOVE()、ONNX_RUN()和ROW_COUNT()。新系统变量:
enable_explain_scheduling、query_max_workers、query_pool_strict、remap_rewrites和cte_max_memory_bytes。MATRIXONE_NATIVESQL 模式:MatrixOne 特有的sql_mode令牌;除放宽部分 MySQL DML 兼容性检查外,还要求字符串转数值时消费完整 token,并在与ONLY_FULL_GROUP_BY同时启用时采用更严格的显式分组列规则。
行为变更¶
group_concat_max_len默认值变更:group_concat_max_len的默认值从4改为 MySQL 兼容的1024字节,因此GROUP_CONCAT结果默认不再被静默截断为四个字节。
兼容性说明¶
之前被接受但不强制执行的
CHECK约束现在会拒绝违反约束的写入。升级前请检查依赖未强制执行CHECK约束的现有表结构。依赖旧的四字节
GROUP_CONCAT默认值的应用,现在默认最多会收到 1024 字节;如需保留之前的行为,请显式设置group_concat_max_len。
关于本文档¶
本文档由文档同步 Agent 根据 MatrixOne 源码 diff 自动生成,并通过 PR 进行人工审核。