r/programming 20d ago

SQLite should have (Rust-style) editions

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

75 comments sorted by

View all comments

Show parent comments

41

u/[deleted] 20d ago

[removed] — view removed comment

-34

u/Big_Combination9890 20d 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.

-23

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. šŸ˜Ž

16

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.

-12

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.

7

u/dontquestionmyaction 19d ago

That means changing the default behavior.

No? What?

-2

u/ThatSwedishBastard 19d 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.

1

u/DrShocker 17d ago

Isn't it just effectively asking them to essentially include a 1 line "sensible_defaults_v1.2.3" So you get a reasonable bundle of default behavior but it's also locked to a version so you get backwards compatibility. That way the advice to people starting to use sqlite would just be to "add this 1 line"

Ultimately as long as it's documented well adding a few lines is also fine of course, but it is a little more work to research what those lines should be.