ToyDB 简介

2024-09-12 database linux

一个 Rust 编写的分布式数据库实现,麻雀虽小五脏俱全。

简介

编译

通过 cargo build 编译,以及 cargo test 测试。

target/debug/toydb
target/debug/toysql

测试

除了常规的测试用例之外,还可以通过 test-each-file 包调用某个目录下的文件 (通过 std::include_str 宏读取文件),最终通过 goldenscript 包来运行。

可以通过如下命令查看或者执行某个用例。

cargo test -- --list
cargo test sql::tests::expressions::op_math_multiply

源码解析

Planner::build_expression()

参考

  • RisingLight 实验性质的 OLAP 引擎。
  • SQLParser 作为 DataFusion 的子项目,用来作 SQL 解析,支持标准的 SQL 语句。