see https://cstack.github.io/db_tutorial.
There is a detailed explaination about SQLite's architecture, this project aims to make a clone of that.
- pager (in progress)
- hashmap based implementation
- use lru cache instead of hashmap
- support mutliple tables in a single database file
- parameterized page size
- b+tree (for table, in progress)
- insertion of cells
- split of leaf node
- update parent node after leaf node split
- split of internal node
- removal of cells
- support arbitrary table schema
- page structure needs to be revised
- vm
- a simple arithmetic vm
- parser (in progress)
- select
- other statements
- code gen (in progress)
- sql execution plan
- b-tree (for index)
- transaction support