Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BasaltSQL

A from-scratch reimplementation of a SQL query engine in Rust with a defined and user facing pipeline.

This is a learning and exploration project, not a production database. The goal is to build each stage of a real query-processing pipeline (tokenizer → AST → logical plan → row-iterator execution → storage) and understand how the pieces fit together.

Status

  • Crate scaffold and error-handling architecture
  • types: Value, Row, DataType
  • catalog: table/column schema registration and lookup
  • lexer: full tokeniser with keywords, identifiers, numeric/string literals, punctuation, and -- comments
  • parser: recursive-descent parser producing Statements with a full expression parser: logical (OR/AND/NOT), comparison, and arithmetic (with correct precedence, left-associativity, unary minus, and parenthesization)
  • analyzer: bind statements against the Catalog
  • executor: run bound statements against in-memory storage

Architecture

See ARCHITECTURE.md for the pipeline design and the reasoning behind the module boundaries and error-handling approach. It also lists known gaps

Getting started

cargo build
cargo test
cargo run

Changelog

See Changelog.

License

MIT, see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages