6 ms·
I would suggest that the author creates a clone of a "simpler" DB like SQLite or Redis. Those have, as far as I understand, good C codebases, so understanding t
by iagooar 10y ago
I would suggest that the author creates a clone of a "simpler" DB like SQLite or Redis. Those have, as far as I understand, good C codebases, so understanding the system should be much easier.
This way you could also say: hey! I have successfully ported a DB written in C in the past, and it has been an extremely positive experience, how about trying the same with Postgres?
- nathancahill 10y agoSQLite for sure. The test suite is top tier.
- dllthomas 10y agoHopefully you could even reuse it!
- rosser 10y agoIf you wanted to write a drop-in SQLite replacement in Rust, using the original project's (incredible) test suite would be on the mandatory side, wouldn't it?
- mathw 10y agoDefinitely! And Rust is capable of that kind of thing (producing a drop-in replacement for a C library) so there'd be no excuses either.
- dllthomas 10y agoTo a degree. Certainly the end-to-end tests should be something you can expect to reuse. Other tests may be hit or miss. In the case of SQLite, where there's >100x as much test code as application code, there's a large range between "can use some of it" and "can use most of it" - as mathw gets at I think we should be able to expect the latter here.
- riffraff 10y agoredis-in-rust : https://github.com/seppo0010/rsedis https://github.com/seppo0010/rsedis it seems many people re-implement redis (I recall at least also Go and Scala). It looks like it's the new "backend language todo list project".