Summary
RookieDB is a database implementation that supports simple transactions in series.
Features that I added include:
- Data structure for B+ Tree indices
- Support for scans and bulk loading
- Common join algorithms (nested loop, hash, external sort, sort merge)
- A version of the Selinger optimizer (plan space search) based on System R
- Lock types and queuing system for locks
- Write-ahead logging, savepoints, rollbacks, ACID-compliant restart recovery