The purpose of this code was to learn how query engines work. It is based off of "How Query Engines Work" by Andy Grove. The free online text can be found here.
The original GitHub codebase, which can be found here, is written in Kotlin. That code, along with the book and Claude, aided in translating it to its Rust equivalent.
This Rust code is not perfect and it is not meant to be perfect. Rather, it is used to demonstrate the core components of a query engine in a simple and understandable way. Basic tests are included to make sure everything functions, but there are some intentional inefficiencies since the focus was on simplicity rather than performance.
As a note, the code contains many comments that I wrote for myself when working on this project, both about high-level interactions and lower-level Rust programming concepts. If you decide to use this code to follow along while reading the book, they may be helpful to you as well.
Lastly, since I like to visualize things to better understand them, the docs/diagrams/ directory has some Excalidraw visualizations that are helpful.