5 ms·
Isn't SQLite an application calling for a clean implementation in Rust?
by std_throwaway 9y ago
Isn't SQLite an application calling for a clean implementation in Rust?
- alecco 9y agoWhy? SQLite is one of the highest quality codebases out there! For fun, sure. But I think you are underestimating the size of the SQLite project and it's tests. Just because the library is small it doesn't mean it's simple.
- steveklabnik 9y agoIt's massive testing means that it would be easier to implement in another language; you'd be pretty sure of conformance with a port. That said, it's one of the most reliable projects in existence so why rewrite it?
- pygy_ 9y agoTo reboot WebSQL? IIRC Mozilla's main gripe with it was the fact that there was only one implementation, and no standard beyond "Whatever Sqlite3 does".
- acdha 9y agoHow would a rewrite change that? Addressing that objection would require some sort of open standards process and commitment to follow it, which is a rather orthogonal concern and would be somewhat expensive as well.
- pygy_ 9y agoYou'd also need to turn "whatever sqlitev3.x does" into a spec, indeed which is a lot of work that will never happen as there's only one implementation that passes the test suite.
- gr__or 9y agoSame reason as always: https://www.cvedetails.com/vulnerability-list/vendor_id-9237/Sqlite.html https://www.cvedetails.com/vulnerability-list/vendor_id-9237... I'd guess around half of those wouldn't happen in rust.
- lrem 9y agoIt would be a colossal waste of time. At 125KSLOC code + 91MSLOC tests, the engineering effort is near-prohibitive. There is no single area where SQLite3 would be severely lacking. Just look at SQLite4 and say if you care about any of the differences.
- mmirate 9y agoIt's been well-tested enough not to matter. Plus that testing would need to be duplicated. Very costly. Uch.
- pygy_ 9y agoI think you could repurpose the original test suite as is. Rust can interface with C seamlessly.