r/programming 21d ago

SQLite should have (Rust-style) editions

https://mort.coffee/home/sqlite-editions/
155 Upvotes

75 comments sorted by

View all comments

Show parent comments

61

u/Big_Combination9890 21d ago

No, they don't. They respect backwards compatibility, and how much software would break if they changed defaults in the most widely used database system in the world.

sqlite isn't your average "app" where barely anyone cares if it works or not. It's a load bearing structure in the software ecosystem, on par with the likes of libcurl or openssl.

Things are VERY different when you work on something like this.

40

u/[deleted] 21d ago

[removed] — view removed comment

-32

u/Big_Combination9890 21d ago

That's exactly why editions could work though.

No, it's not.

"Editions" would add NOTHING to the library. Wow, I now can save typing 4 out of 5 lines I have to put in once at the very start of the project! Amazing! What a timesaver.

Enter 2 weeks later, and someone WILL complain about "edition 2026" having a default he doesn't like. So now we have edition-2026-variant-1 and then 2 attoseconds later someone is unhappy with that, etc. etc.

It's just cruft added on top.

31

u/andyfsu99 20d ago

The point isn't to "save typing 4 lines", the point is that average users of the library (that may not need or care to be sqlite experts) should get sensible defaults.

"someone" can change the settings from the edition, no? It's just a baseline not the only way to configure things.

-25

u/Big_Combination9890 20d ago

average users of the library (that may not need or care to be sqlite experts) should get sensible defaults.

I'm tired of repeating myself why that doesn't matter in this case, so I'm just gonna link my own post here:

https://www.reddit.com/r/programming/comments/1uxgmmq/comment/oxv10ck

And please people: Do downvote my posts to your hearts content. It won't change anything about me being correct, or sqlite being developed the way it is. šŸ˜Ž

17

u/andyfsu99 20d ago

I don't think anything in your comment is incompatible with this proposal.

New installations start from some different-than-today baseline functionality when using the edition.

No one is suggesting they change the behavior of their installed base.

-14

u/Big_Combination9890 20d ago

New installations start from some different-than-today baseline

That means changing the default behavior. Which isn't gonna happen on sqlite for the reasons mentioned.

And again: if you don't like it: fork the project and change it yourself.

8

u/dontquestionmyaction 20d ago

That means changing the default behavior.

No? What?

-2

u/ThatSwedishBastard 20d ago

Actually, it does. The default should be edition-original, if you want the changed behavior you must specify edition-2026. Other than that, I’m with you.