logoalt Hacker News

simonwtoday at 7:14 PM3 repliesview on HN

SQLite very rarely changes defaults because of their commitment to backwards compatibility. They don't want software written against SQLite 3.53 to start throwing errors when upgraded to 3.54 because suddenly `CREATE TABLE` is creating strict tables and the rest of the software breaks as a result.


Replies

inigyoutoday at 9:04 PM

They already had this concern with WITHOUT ROWID. They recommend using WITHOUT ROWID whenever possible, but can't make it the default.

show 1 reply
ezsttoday at 7:49 PM

Which seems reasonable. And those who care deeply will have no problem configuring it the specific way they want on their own project. Win-win.

show 2 replies
boredatomstoday at 8:39 PM

The need ‘default sets’ so that as the very first command I can say ‘use 2026.1 defaults’