Files
ChuSQL/.agents/context/main-roadmap.txt
T

31 lines
2.0 KiB
Plaintext
Raw Normal View History

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