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 INTORETURNING 语句、若干新的系统变量,以及一批新的聚合、JSON、日期时间与工具函数。

新功能

  • 强制执行 CHECK 约束CHECK 约束现在在写入时强制执行。违反约束的行会抛出约束违反错误,NULL 值通过检查,INSERT IGNORE 跳过违反的行,REPLACEON DUPLICATE KEY UPDATECREATE TABLE AS SELECT 均会强制执行该约束。

  • ALTER TABLE ... ALGORITHMLOCK 子句ALTER TABLE 现在接受 MySQL 兼容的 ALGORITHM {DEFAULT | INSTANT | INPLACE | COPY}LOCK {DEFAULT | NONE | SHARED | EXCLUSIVE} 子句。ADD COLUMNDROP 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 CATALOGSHOW ICEBERG NAMESPACES/SHOW ICEBERG TABLES 以及 ALTER MONGODB CONNECTION/DROP MONGODB CONNECTION 用于管理和查看已注册的外部数据元数据。INSERT OVERWRITE 增加了 Iceberg 写入能力,并支持可选的静态 PARTITION(field = literal, ...) 选择。

  • 数据分支输出表与 schema evolutionDATA BRANCH DIFF ... OUTPUT AS table 将差异持久化为普通表,并增加冲突安全的来源/标记元数据列。DIFF 和 MERGE 只接受能够证明列血缘且类型、可空性和键定义兼容的 schema 变更。

  • 向量索引覆盖列:IVFFLAT、CAGRA 和 IVFPQ 索引支持 INCLUDE(column_list),用于为覆盖查询存储额外的非向量列,这些列不参与距离计算。

  • MERGE INTO:对 Iceberg 表执行行级合并操作,更新或删除匹配的行,并插入不匹配的行。必须显式启用 Iceberg 写入、DML 和删除能力。

  • RETURNING:返回受支持的单表 INSERTUPDATEDELETE 语句的最终行镜像。返回列表可以使用目标表列和确定性标量表达式;聚合函数、old/new 伪命名空间以及不支持的 DML 变体会被拒绝。

  • ANALYZE TABLEDUMP TABLELOAD TABLEPERFORMANALYZE TABLE 收集列统计信息并支持可选的列列表;DUMP TABLELOAD TABLE 通过 localfile://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_schedulingquery_max_workersquery_pool_strictremap_rewritescte_max_memory_bytes

  • MATRIXONE_NATIVE SQL 模式: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 进行人工审核。

完整变更日志

v4.1.4…v4.2.0