On Tue, Oct 29, 2019 at 8:38 AM Thomas Kurz <sqlite.2...@t-net.ruhr> wrote:

> We recently had a discussion about date/time support, but also other
> suggestions, which sooner or later end up at the point "cannot be done,
> would break backward compatibility". (See also: "Backward compatibility vs.
> new features (was: Re: dates, times and R)")
>
> I'm always curious and monitoring trunk development, and now I have read
> in the draft release notes for 3.31:
>
> > If an earlier version of SQLite attempts to read a database file that
> contains a generated column in its schema, then that earlier version will
> perceive the generated column syntax as an error and will report that the
> database schema is corrupt.
>
> ...which leads me to some confusion. So there actually *are* features
> breaking compability? Wouldn't that be a chance for full date/time support
> as well?
>

To complement Graham's answer, I see 3 different levels of backward
compatibility:

1) file format: https://www.sqlite.org/fileformat.html
2) SQLite C API: https://www.sqlite.org/capi3ref.html
3) SQL language: https://www.sqlite.org/lang.html (including the built-in
SQL functions)

Anything that breaks #1 or #2 is dead on arrival basically.
SQLite4 was a brief attempt at #1, but it fizzled out.

OTOH, #3 keeps adding new features over time, because as long as you don't
use those new features, older versions of SQLite can read/process the DB
files just fine.
This is more "forward-compatibility" in a sense, when older SQLite versions
can or cannot read DB files written using newer versions of SQLite.
While "backward-compatibility" is the latest version of SQLite reading
older SQLite's DB files (mostly about #1 and #2).

Your DB files are as forward-compatible as you choose them to be, depending
on the new SQL features you use or not.
I didn't follow the date/time thread closely enough to see where the
proposed changes fall in the above categorization.
I hope this helps. --DD
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to