程序入口在 GuaSQL 中
VM 通过 GuaSQL 获取 SQL 语句,利用 compiler 解析出 statement,再将 statement 传入 Interpreter。Interpreter 通过访问 statement 各部分(clause、expression 等)判断要使用的 Database 与 Table,并获取或更改 Table 中的数据
Tablel 对外暴露了 insert、select、delete 和 update 等接口
Tree 对外暴露了 insert、select、delete 和 update 等接口
Pager 负责数据落盘与加载,还有落盘数据的维护(分页等)
common 包含被多个模块使用到的类与枚举
test 包含所有模块的测试
config 中指定了需要配置的参数
utils 包含 log 等辅助函数
注:WSL下,记得更改 GuaSQL 的换行符为 LF
- lexer 支持 back token
- 部分字段的初始化值有问题,比如数组的初始化值为 None,导致后面的检查很奇怪,需要改(子句的初始化值应该为 None,对应类属性不应该用复数形式)
- 对 between and 的支持
- 对 in 和 between and 的支持
- cache 的 LRU
- 删除页使用


