RustでRDBMSをスクラッチから実装する学習プロジェクト。
- 概要と現在地:
docs/overview.md - アーキテクチャ:
docs/architecture.md - 設計判断:
docs/decisions.md - コーディングルール:
docs/coding-rules.md - ハーネス運用:
docs/harness-engineering.md - 実装計画:
docs/plans/
crates/storage: ストレージエンジンcrates/sql: SQLパーサーcrates/query: クエリエンジンcrates/catalog: データ辞書crates/types: 共通型crates/rdbms: バイナリ
rustup update
cargo build --workspace
cargo test --workspace
cargo test -p storage
cargo fmt
cargo clippy --workspace
cargo run -p rdbms- 言語は Rust 2024 edition を前提にする
- ワークスペースの Rust バージョンは
Cargo.tomlのrust-version = "1.94"とrust-toolchain.tomlのchannel = "1.94.0"を基準にする - テストファーストで進める
- 実装後は必ずコードレビューを行う
- 作業前に必ずプランを提示し、OK を得てから着手する
- 意図を説明するコメントを必要箇所に残す
- 動作を分かりやすく解説するコメントをつける
- 学習のため、一度に全部実装せず、まず具体的な実装順序を書いたTODOコメントを先に書くこと
- 分かりやすく丁寧で分かりやすいコメントにして
- 影響範囲の
docs/と既存テストを読んでから編集する - 破壊的な git 操作や秘密情報の変更は明示依頼なしで行わない
- 変更内容に応じたテストを実行している
- 必要なら
cargo fmtとcargo clippy --workspaceを実行している - 振る舞い変更があれば関連文書を更新している
- 残課題や未検証項目があれば明示している
tokio: 非同期ランタイムthiserror: エラー型定義anyhow: エラー伝播parking_lot: 高性能ロックcrossbeam: 並行処理