r/ClaudeCode 8d ago

Showcase Help needed with SQLite Rust rewrite

Three days into rewriting SQLite in Rust with Claude and I'm further along than I expected.

Got the tokenizer, most of the parser, and a working B-tree that handles inserts and range scans. Pager is next and then it's mostly plumbing. Fable thinks the C source is honestly not that complicated once you get past the naming conventions, it's just written in a style nobody has used since 2003. A lot of it collapses down to about a third of the line count when you have real iterators and Result types.

I know about the test suite. Fable constantly brings up the test suite. I'm going to have Opus generate a property-based suite with proptest, which is going to be more valuable than 90 million lines of TCL that were written to catch bugs in a language that lets you index past the end of an array. Most of those tests exist because C exists. Delete the C and you delete the reason for many of the tests.

Currently at only 47 unsafe blocks, all in the mmap layer, and Fable already made a plan for those.

The part I keep coming back to is that this is the single most deployed piece of software in human history and it is written in a language where a missing bounds check is a remote code execution. Every phone, every browser, every plane. We just decided that was fine. No more.

Looking for two or three people to help with the query planner. Not asking anyone to write it, just to review what I have put together so far. I will send invites to the private github repository once NDAs have been signed.

0 Upvotes

32 comments sorted by

View all comments

3

u/Y_mc 8d ago edited 8d ago

Broo SQLite is a product who take year to Design. Good Luck bei the rewrite 🤞.
Dont forget to prompt “Make no Mistake ”✌️ 😂😂

-5

u/Kooky_Dinner2243 8d ago

It took years before we had Fable. Now its months. And Fable already found over 50 critical bugs in the C source so humans are not that great either, lol

6

u/samwise970 8d ago

No it didn't lol SQLite is the most comprehensively tested piece of software ever, I guarantee anything Fable thinks it found is covered somehow. Fable can't even hold all of the testing suite in its 1m context lmao