修bug,完善功能
build / build (push) Blocked by required conditions
tests / build (push) Waiting to run
tests / tests (push) Waiting to run

This commit is contained in:
ChuNa7a committed 2026-10-16 23:52:12 +08:00
1 parent 30364b1c4b
commit 6996e19694
125 files changed
+15343 -3746

No files matched your search

+19 -10
View File
@@ -1,20 +1,29 @@
ChuSQL 长期路线图
# ChuSQL 长期路线图
交付状态和验收只以 progress.txt 为准;近期顺序见 side-branch-plan.txt。
本文件描述目标,不代表现有实现或功能承诺。
目标链路:SQL → Parser / Binder → Typed IR → Planner / Optimizer → Executor → Rust Storage。
目标链路:SQL → 解析与绑定 → 类型化中间表示 → 规划与优化 → 执行 → Rust 存储。
类型化中间表示(Typed IR)是已经确定类型与引用关系的查询结构;能力(Capability)描述类型支持的运算。代数数据类型(ADT)用于表达多个可选构造分支,多版本并发控制(MVCC)用于管理数据版本和读取快照。
类型能力与权限保持独立;catalog 保存对象、依赖和语义,内核保留必要基础机制。
阶段
- A 类型与函数基础:稳定 TypeId / FunctionId、注册表、逻辑/物理类型分离、版本化值;验收见 progress.txt。
- B 能力与运算(2–6):Capability、Operator、Cast、Aggregate、参数多态与约束解析。
- C 复合与自定义类型(7–12):ADT、Record/Composite、Newtype/Domain、参数化类型、Range、用户类型。
- D 函数与效果(13–16):用户函数、Effect、纯 Generated Column、有副作用的 Trigger。
- E 权限与类型化查询(17–19):权限 Capability、Query a、Rewrite / Optimizer 函数化。
- F 扩展:对象体系统一后实现 Extension 的版本、依赖、安装/升级/移除;其他访问方法按真实需求推进。
## 阶段目标
按以下阶段推进;括号中的编号沿用原路线图:
| 阶段 | 目标 |
| --- | --- |
| A 类型与函数基础 | 稳定 TypeId / FunctionId、注册表、逻辑/物理类型分离、版本化值;验收见 progress.txt。 |
| B 能力与运算(2–6) | 类型能力、运算符、类型转换、聚合,以及参数多态与约束解析。 |
| C 复合与自定义类型(7–12) | 代数数据类型、记录/复合类型、命名类型/领域、参数化类型、范围和用户类型。 |
| D 函数与效果(13–16) | 用户函数、效果管理、纯计算生成列和有副作用的触发器。 |
| E 权限与类型化查询(17–19) | 权限能力、类型化查询 Query a,以及查询重写与优化器的函数化。 |
| F 扩展 | 对象体系统一后实现 Extension 的版本、依赖、安装/升级/移除;其他访问方法按真实需求推进。 |
## 贯穿约束
贯穿约束
- 现有 ColumnType / Expr / RelOp 有真实消费者;迁移时逐步收拢,不提前删除兼容桥。
- 每阶段验证持久化、升级、依赖和恢复,不能靠重新初始化掩盖不兼容。
- 内建对象可由可信 bootstrap 元数据恢复;用户对象依赖 WAL / 备份。