/SQLite

How I Found a Bug In SQLite

- Philip O'Toole tl;dr: "How could the disk image be corrupted? I put it down to re-use of an error code within SQLite, which is a fairly common practice in programming generally. But then I made the real mistake. I didn’t take the error seriously enough and decided it was probably something transient, never to be seen again."

featured in #375


Stranger Strings: An Exploitable Flaw In SQLite

- Andreas Kellas tl;dr: The flaw "is exploitable when large string inputs are passed to the SQLite implementations of the printf functions and when the format string contains the %Q, %q, or %w format substitution types. This is enough to cause the program to crash. We also show that if the format string contains the ! special character to enable unicode character scanning, then it is possible to achieve arbitrary code execution in the worst case, or to cause the program to hang and loop (nearly) indefinitely."

featured in #363


SQLite: Past, Present, And Future

- Murat Demirbas tl;dr: "SQLite is an awesome little engine; it reaps the benefits of its size and deployment constraints - single node and mostly single threaded - to keep things simple, agile, and reliable. It is a great motorcycle, but the world also needs fleets of vans and 16-wheelers for high performance scale-out workloads." Murat guides us through SQLite's architecture. 

featured in #353


SQLite Doesn't Use Git

- Matt Rickard tl;dr: Instead, SQLite uses Fossil as a version control system, which is also developed by the same primary author as SQLite. Both Git and SQLite share some similar design philosophies, which Matt discusses at a high level.

featured in #351


SQLite Internals: Pages & B-trees

- Ben Johnson tl;dr: "Learning about the internals of our tools lets us feel comfortable with them and use them confidently. Hopefully low-level features like SQLite's PRAGMAs seem a little less opaque now." Ben guides us through SQLites internals through an "over-engineered" database that tracks sandwich he's consumed.

featured in #339


Consider SQLite

- Wesley Aptekar-Cassels tl;dr: "If you were creating a web app from scratch today, what database would you use? Probably the most frequent answer I see to this is Postgres", although common answers are MySQL, Microsoft SQL Server, MongoDB, etc..." Wesley makes a case for why you should consider SQLite. "As long as you don't expect to need tens of thousands of small writes per second, thousands of large writes, or long-lived write transactions, it's highly likely that SQLite will support your usecase. "

featured in #281


Towards Inserting One Billion Rows In SQLite Under A Minute

- Avinash Sajjanshetty tl;dr: Avinash discusses how far he's gotten in attempting to building a 4 column DB with a billion rows in under a minute using Python and Rust scripts, with the following compromises: (1) lack of durability i.e. crashing is fine. (2) Can use machine resources to the fullest. (3) Can use pseudo-random methods from stdlib.

featured in #238


Sharing SQLite Databases Across Containers Is Surprisingly Brilliant

- Rick Branson tl;dr: Backed into a corner, Rick came up with a creative solution of writing data to a local file read by dozens of containers using SQLite. Having seen success with this implementation, he believe there is room to innovate here. Bypass the paywall here by clicking the link in this tweet.

featured in #168


SQLite Is Really Easy To Compile

- Julia Evans tl;dr: Multiple attempts to upgrade SQLite leads lead Julia to be "reminded of how executables and shared libraries work".

featured in #159