[Rust]「WEB+DB PRESS Vol.122のRustで実装!作って学ぶRDBMSのしくみ」を読んだ

April 30, 2022

WEB DB PRESS Vol.122

これも前回に引き続き興味はあったが出た当時はRustを触ってなかったので読まなかったシリーズ。

BTreeの中身とセカンダリーインデックスは写経を省略。

ちゃんと動いた

1
2
3
4
5
6
7
8
9
10
== procedural
Tuple("v" [76], "Eve" [45, 76, 65], "Brown" [42, 72, 6f, 77, 6e])
Tuple("w" [77], "Dave" [44, 61, 76, 65], "Miller" [4d, 69, 6c, 6c, 65, 72])
Tuple("x" [78], "Bob" [42, 6f, 62], "Johnson" [4a, 6f, 68, 6e, 73, 6f, 6e])
Tuple("y" [79], "Charlie" [43, 68, 61, 72, 6c, 69, 65], "Williams" [57, 69, 6c, 6c, 69, 61, 6d, 73])
Tuple("z" [7a], "Alice" [41, 6c, 69, 63, 65], "Smith" [53, 6d, 69, 74, 68])

== executor
Tuple("x" [78], "Bob" [42, 6f, 62], "Johnson" [4a, 6f, 68, 6e, 73, 6f, 6e])
Tuple("y" [79], "Charlie" [43, 68, 61, 72, 6c, 69, 65], "Williams" [57, 69, 6c, 6c, 69, 61, 6d, 73])

途中ライフタイム注釈がよくわからなくなって調べたら以下の記事がわかりやすかった。

そろそろ自分の作りたいものを作りながらコードを書いて勉強した方がよさそうなんだけど、作りたいものがない。

コード

https://github.com/tnantoka/my_rust_sandbox/tree/main/tiny_rdbms