Build your own SQLite in Rust, Part 5: Evaluating queries

In this post, we put together the SQLite file format knowledge and the SQL parser to implement a query evaluator that can handle basic SELECT statements. While the current implementation lacks support for filtering, sorting, grouping, or joins, it serves as a foundation for future features. Controversially, using an existing SQLite database for testing may be problematic due to lack of support for overflow pages. Surprisingly, the Rust implementation employs thread-safe structures like Arc<Mutex> and Arc<RwLock> for pager access. Overall, the project is progressing towards a functional database engine, with future posts covering filtering, indexes, sorting, and grouping.

https://blog.sylver.dev/build-your-own-sqlite-part-5-evaluating-queries

To top