Skip to content

cervoliu/sql-optimizer-labs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQL Optimizer Labs

Build a SQL optimizer in 1000 lines of Rust using egg.

🚧 Under construction 🚧 Stay tuned 👀

For explanation of implementation, please refer src/README.md.

For tutorials (in Chinese), please refer 欢度元旦,用蛋写个 SQL 优化器吧(上) and 欢度元宵,用蛋写个 SQL 优化器吧! .

Tasks

Fill the code in src and pass the tests in tests!

cargo test --test 1_language
cargo test --test 2_rewrite
cargo test --test 3_conditional_rewrite
cargo test --test 4_constant_folding
cargo test --test 5_sql_plan
cargo test --test 6_plan_elimination
cargo test --test 7_predicate_pushdown
cargo test --test 8_projection_pushdown
cargo test --test 9_agg_extraction
cargo test --test 10_index_resolving

What's Next

These labs are taken from the RisingLight project. Check out how it works in a real database system!

About

🚧 Build a SQL optimizer in 1000 lines of Rust using egg.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%