Please update documentation on database format changes
(1) By Simon Slavin (slavin) on 2022-09-13 13:03:07 [link] [source]
https://www.sqlite.org/formatchng.html
comes up when I search for 'file format changes' but does not include the changes which would concern most SQLite users. It stops at version 3.0.0. Since almost all of the documentation concerns SQLite3, I feel it should start at version 3.0.0, and mention
- WITHOUT ROWID, version 3.8.2 (2013-12-06)
- indexes on expressions, version 3.9.0 (2015-10-14)
- GENERATED columns, version 3.31.0 (2020-01-22)
- STRICT tables, version 3.37.0 (2021-11-27)
and probably others that don't come to mind. Can anyone think of ones I missed ?
It can also explain how backwards-compatible each change is (or have just one section if they're all the same).
If the team doesn't want to work on an up-to-date version of the page, could it at least remove the existing one, so that people looking for help with SQLite get the individual pages and not a red herring about an obsolete version ?
(2) By ddevienne on 2022-09-13 13:48:04 in reply to 1 [link] [source]
But those are NOT format changes, but new SQL capabilities.
Stricto sensu, the file format itself didn't change.
(3) By Simon Slavin (slavin) on 2022-09-13 16:48:19 in reply to 2 [link] [source]
Mmm. Right. Yeah. They are not format changes. They are introductions which stop SQLite being backward-compatible. Or something like that.
I take your point. But I do feel that it would be useful to document these all on one page, which can be found by anyone using websearch to look for that problem. But now I don't have a good title for the page.
(4) By anonymous on 2022-09-15 07:06:47 in reply to 3 [link] [source]
It's all be documented actually. For WITHOUT ROWID, version 3.8.2 (2013-12-06) GENERATED columns, version 3.31.0 (2020-01-22) STRICT tables, version 3.37.0 (2021-11-27) They are in https://www.sqlite.org/lang_createtable.html and https://www.sqlite.org/stricttables.html. For indexes on expressions, version 3.9.0 (2015-10-14) It's in https://www.sqlite.org/lang_createindex.html and https://www.sqlite.org/lang_createindex.html And I agree it will be more convenient to lookup this kind of changes if it can have a summary page.
(5) By ddevienne on 2022-09-15 07:39:12 in reply to 4 [link] [source]
It's all be documented actually.
Of course. And it's also in https://www.sqlite.org/changes.html.
will be more convenient ... a summary page
Indeed. A page that focuses on forward-compatibility would be very much welcome.
I.e. a page listing new SQL features/syntax (and related dates and versions, linking to the changes page), that older SQLite versions choke on.
Note that above I wrote forward-compatibility, but I'm not sure it's the correct terms.
I consider backward-compatibility as the ability of newer versions of SQLite to open older DB files.
So that's not it here, which is about older versions of SQLite breaking down (i.e. not understanding)
the SQL used in DB files created using newer versions of SQLite. Is that forward-compatibility?
(6) By Stephan Beal (stephan) on 2022-09-15 07:44:07 in reply to 5 [link] [source]
Note that above I wrote forward-compatibility, but I'm not sure it's the correct terms. I consider backward-compatibility as the ability of newer versions of SQLite to open older DB files.
FWIW, that matches with https://sqlite.org/formatchng.html, where the terms "forward compatible" and "backwards compatible" are specifically defined.
So that's not it here, which is about older versions of SQLite breaking down (i.e. not understanding) the SQL used in DB files created using newer versions of SQLite. Is that forward-compatibility?
According to formatchng.html, yes.
(7) By ddevienne on 2022-09-15 08:09:47 in reply to 6 [source]
OK, thanks Stephan.
So I guess what Simon, Anon, and myself would like, is an exhaustive listing of such SQL tweaks that break forward-compatibility.
Myself, I think having that list under format changes is misleading.
I'd prefer a new fwdcompat.html
page linked in formatchng.html
,
that deals exclusively on the Forward Compatibility topic, to be extra clear. FWIW.