| ▲ | fulafel 14 hours ago |
| They're not aiming at replacing SQLite-in-C with SQLite-in-Rust, they're doing this so they can implement more additional functionality faster than with C's chainsaw-juggling-act semantics and the inability to access the proprietary SQLite test suite. See the features and roadmap at https://github.com/tursodatabase/turso |
|
| ▲ | adamzwasserman 13 hours ago | parent | next [-] |
| IMHO breaking free of SQLite's proprietary test suite is a bigger driver than C vs Rust. Turso's Limbo announcement says exactly that: they couldn't confidently make large architectural changes without access to the tests. The rewrite lets them build Deterministic Simulation Testing from scratch, which they argue can exceed SQLite's reliability by simulating unlikely scenarios and reproducing failures deterministically. |
| |
| ▲ | pseudohadamard 31 minutes ago | parent | next [-] | | Having seen way too many "we're going to rewrite $xyz but make it BETTERER!!", I don't give this one much chance of success. SQLite is a high-quality product with a quarter-century of development history and huge amounts of effort, both by the devs and via pubic use, of testing. So this let's-reinvent-it-in-Rust effort will have to beat an already very good product that's had a staggering amount of development effort and testing put into it which, if the devs to manage to get through it all, will end up being about the same as the existing thing but written in a language that most of the SQLite targets don't work with. | |
| ▲ | CharlesW 12 hours ago | parent | prev [-] | | > IMHO breaking free of SQLite's proprietary test suite is a bigger driver than C vs Rust. I don't understand this claim, given the breadth and depth of SQLite's public domain TCL Tests. Can someone explain to me how this isn't pure FUD? "There are 51445 distinct test cases, but many of the test cases are parameterized and run multiple times (with different parameters) so that on a full test run millions of separate tests are performed." - https://sqlite.org/testing.html | | |
| ▲ | lmm 5 hours ago | parent | next [-] | | The test suite that the actual SQLite developers use to develop SQLite is not open-source. 51445 open-source test cases is a big number but doesn't really mean much, particularly given that evidently the SQLite developers themselves don't consider it enough to provide adequate coverage. | |
| ▲ | einsteinx2 11 hours ago | parent | prev | next [-] | | The irony is if they only had the public domain tests, no one would complain even though it would mean the exact same number of open source tests. | | |
| ▲ | dullcrisp 16 minutes ago | parent [-] | | That’s like if I gave you half the dictionary and then said it’s ironic that if there really weren’t any letters after “M” you wouldn’t be complaining. |
| |
| ▲ | Ar-Curunir 3 hours ago | parent | prev | next [-] | | There are also non-public tests. | |
| ▲ | digitalPhonix 11 hours ago | parent | prev [-] | | The next bullet point: > 2. The TH3 test harness is a set of proprietary tests… | | |
| ▲ | CharlesW 11 hours ago | parent [-] | | Of course, but how does that make the allegation not FUD? | | |
| ▲ | digitalPhonix 7 hours ago | parent [-] | | I’m confused, the statement is that SQLite has a proprietary test suite? It does. Where’s the FUD? Turso tried to add features to SQLite in libsqlite but there were bugs/divergent behaviour that they couldn’t reconcile without the full test suite. |
|
|
|
|
|
| ▲ | thisislife2 13 hours ago | parent | prev | next [-] |
| In other words, they are creating their own database and hitching on to the SQLite brand to market it. (That's fine though). |
| |
| ▲ | dlisboa 12 hours ago | parent | next [-] | | I think it's fair to say they tried using SQLite but apparently had to bail out. Their use case is a distributed DBaaS with local-first semantics, they started out with SQLite and only now seem to be pivoting to "SQLite-compatible". Building off of that into a SQLite-compatible DB doesn't seem to me as trying to piggyback on the brand. They have no other option as their product was SQLite to begin with. | |
| ▲ | IshKebab 12 hours ago | parent | prev | next [-] | | No that's completely incorrect. It's compatible with SQLite, not just in the same spirit: > SQLite compatibility for SQL dialect, file formats, and the C API | | | |
| ▲ | shimman 5 hours ago | parent | prev [-] | | I don't think that's fine at all, it's quite a shitty thing to do hoenstly and I'm not surprised it's a VC backed company doing it. |
|
|
| ▲ | groundzeros2015 13 hours ago | parent | prev [-] |
| Without the test suite isn’t even more likely to have stability problems? |
| |
| ▲ | dlisboa 12 hours ago | parent | next [-] | | Maybe. It's hard to know what kind of issues that test suite covers. If memory safety is the main source of instability for the C implementation then the Rust implementation won't be too affected without the test suite. Same if it focus a lot on compatibility with niche embedded platforms and different OSes, which Turso won't care to lose. "Stability" is a word that means different things for different use cases. | | | |
| ▲ | 0x457 13 hours ago | parent | prev | next [-] | | Turso has its own test suite that in the repo. | | |
| ▲ | groundzeros2015 13 hours ago | parent [-] | | but the other one has decades of engineering effort and is based on real world problems | | |
| ▲ | 0x457 7 hours ago | parent [-] | | But the other one is not available to most and SQLite itself is "open-source" not "open-contributions" so extending SQLite is pretty much impossible at scale: - no way to merge upstream - no way to run full test-suit to be sure everything is tiptop |
|
| |
| ▲ | 9rx 12 hours ago | parent | prev [-] | | Not likely. The alternative was for them to modify SQLite without the test suite and no obvious indication of what they would need to do to try to fill in the gaps. Modifying SQLite with its full test suite would be the best choice, of course, but one that is apparently[1] not on the table for them. Since they have to reimagine the test suite either way, they believe they can do a better job if the tests are written alongside a new codebase. And I expect they are right. Trying to test a codebase after the fact never goes well. [1] With the kind of investment backing they have you'd think they'd be able to reach some kind of licensing deal, but who knows. |
|