Skip to content

MatrixOne v26.3.0.12 发布报告

发布日期:2026 年 5 月 19 日

MatrixOne 版本:v26.3.0.12

MatrixOne 3.0.12 引入了分支保护快照、Hive 风格分区 Parquet 外表、扩展的 MySQL 类型兼容性(YEAR、DECIMAL256、SET)、新的日期/时间函数以及几何子类型校验。以下是主要更新内容。

新功能

分支保护快照(Branch Protect Snapshot)(#24347)

  • DATA BRANCH CREATE TABLEDATA BRANCH CREATE DATABASE 现在会自动创建一个内部分支保护快照(kind=branch,名称=__mo_branch_<child_table_id>),在所有后代分支被删除之前保护父分支的数据免于 GC 回收。
  • 分支快照不会出现在 SHOW SNAPSHOTS 和快照配额统计中。用户无法通过 DROP SNAPSHOT 直接删除它们——当整个 DAG 子树被删除时,系统会自动回收。
  • 对分支子表执行 DROP TABLEDATA BRANCH DELETE TABLE 时,会同步回收关联的分支快照。

Hive 风格分区 Parquet 外表(#24329)

  • CREATE EXTERNAL TABLE 现已支持 Hive 风格的目录分区 Parquet 文件读取。通过 INFILE 两个新选项启用:'hive_partitioning'='true''hive_partition_columns'='col1,col2,...'
  • 支持单级和多级分区层级。分区列在表 schema 中声明为普通列,名称匹配不区分大小写。
  • 等值(=)和 IN 谓词作用于分区列时,会在文件扫描阶段进行分区裁剪,减少 I/O。__HIVE_DEFAULT_PARTITION__ 目录会映射为分区列的 SQL NULL
  • 虚拟列 __mo_filepath 返回每行数据的源文件路径,所有外表均可使用。

新增 YEARWEEK() 函数(#24234)

  • YEARWEEK(date, [mode]) 返回给定日期或 datetime 表达式的年份和周数,以整数 YYYYWW 格式表示(例如 202623)。
  • 可选参数 mode(0–7)控制周的编号方式,与 MySQL 语义一致。默认 mode 为 0(周日为起始,0–53 范围)。

WEEK() 支持 Mode 参数(#24236)

  • WEEK(date) 现在支持可选的第二参数 WEEK(date, mode)mode 为 0–7 的整数,控制周的起始日和返回值范围,与 MySQL 行为一致。

MySQL 类型兼容性(YEAR、DECIMAL256、SET)(#24342、#24204)

  • YEAR:重新实现,支持正确的 4 位年份显示(0001–9999),改进了两位年份的处理和转换语义。
  • DECIMAL256:DECIMAL 类型扩展至最高 76 位精度(DECIMAL256),以 32 字节存储。此前最高为 38 位(DECIMAL128)。
  • SET:新增 SET 类型支持,用于存储预定义字符串值的集合。语法遵循 MySQL 惯例:SET('value1','value2',...)
  • ENUM:改进 ENUM 类型的校验和比较语义。

几何子类型校验(#24353)

  • 对几何列的 INSERT 和 UPDATE 操作现在会在绑定时校验几何子类型(POINT、LINESTRING、POLYGON 等)。无效的几何数据将被拒绝并报错,而不会静默写入。

改进

Data Branch DIFF/MERGE 支持任意 DAG 深度(#24377)

  • DATA BRANCH DIFFDATA BRANCH MERGE 现在能正确计算任意深度 DAG 链和树形结构的 LCA(最低公共祖先)及变更范围,不再仅限于直接父子关系。复杂的多叉树分支历史能输出正确的结果。

LOAD DATA Parquet Decimal 兼容性(#24332)

  • LOAD DATA INFILE 从 Parquet 文件加载数据时,现在能正确转换 Parquet 三种二进制 decimal 编码(INT32、INT64、FixedLenByteArray)为原生 DECIMAL 类型,覆盖 DECIMAL(5,2) 至 DECIMAL(24,4)。

INTERVAL 括号取模表达式支持(#24242)

  • INTERVAL 表达式中带括号的取模运算(如 INTERVAL (a % 5) DAY)现在能被正确解析和计算。

兼容性说明

  • SHOW SNAPSHOTS 不再显示分支保护快照(kind=branch 的内部快照)。这些快照由数据分支子系统自动管理。
  • DROP SNAPSHOT 对分支保护快照执行时会报错。应使用 DATA BRANCH DELETE TABLE / DATABASEDROP TABLE / DATABASE 来回收分支数据。
  • 此前依赖查看全部 mo_snapshots 行(包括内部快照)的应用,需更新查询添加 WHERE kind != 'branch' 条件或使用 SHOW SNAPSHOTS 命令。
  • 扩展的 DECIMAL 范围(DECIMAL256)可能影响使用超过 38 位精度的应用的存储行为。