Milestones
List view
Volcano executor + CLI wiring so CREATE/INSERT/SELECT run end to end. Satisfies must-have M1.
No due date•5/6 issues closedW10-11 of the proposal. Catalog (schema + statistics), logical plan + binder, cost-based physical planning (seq scan vs index scan from stats, join algorithm choice), and EXPLAIN output. Implements must-have M6 and the EXPLAIN stretch.
No due date•5/5 issues closedW9 of the proposal. Hand-written lexer + recursive-descent parser for a meaningful SQL subset: CREATE TABLE, DROP TABLE, CREATE INDEX, INSERT, UPDATE, DELETE, SELECT with WHERE/JOIN/GROUP BY/ORDER BY/LIMIT. No sqlparser-rs. Produces an AST the planner consumes.
No due date•6/6 issues closedW7-8 of the proposal. Definition of done: a transaction manager with snapshot isolation, MVCC visibility (xmin/xmax + version chains), an MVCC table where concurrent transactions read consistent snapshots without blocking, and configurable isolation levels. Implements must-have M5.
No due date•6/6 issues closedW6 of the proposal. Definition of done: analysis + redo + undo recovery over the WAL, CLRs for idempotent undo, and a forced-process-kill torture test proving committed data survives and uncommitted data is rolled back. This is the graded live-demo requirement.
No due date•5/5 issues closedW5 of the proposal. Definition of done: append-only WAL with checksummed records, fsync-on-commit, LSN ordering enforced in the buffer pool flush path. Reader iterates committed records forward.
Overdue by 1 month(s)•Due by June 12, 2026•5/5 issues closedW4 of the proposal. Definition of done: in-memory buffer pool with LRU-K replacement + RAII pin/unpin; B+ tree (internal + leaf) over the buffer pool; insert/search/range_scan working; proptests over tree invariants green.
Overdue by 1 month(s)•Due by June 5, 2026•5/5 issues closedW3 of the proposal timeline. Definition of done: read/write 8 KiB pages with header + checksum, slotted-page tuple layout, unit + property tests green.
Overdue by 2 month(s)•Due by May 29, 2026•5/5 issues closed