On Tue, Aug 13, 2019 at 10:58 AM Ling, Andy <andy.l...@grassvalley.com> wrote:
> > This is what I would call "forward compatibility": You expect an old > application > > to be able to read file formats of a future version. Do you have an > example > > where there is really required? > > I have an Android app that lets you share the database between users. The > app will run on a variety of versions of Android with a similar variety > of versions of sqlite. Currently any version can read the database from > any other > version regardless of whether it is old reading new or vice versa. > Then if you want to retain that, just don't use new features that might break fwd-compatibility. That's already the case now, e.g. without-rowid tables, if used, break older versions of SQLite. Or defining a view or a trigger using window-functions. Or zillions other things that can make a DB incompatible with old versions of SQLite. That can happen now! And to gracefully handle cases of incompatibilities "by choice", your app should use https://www.sqlite.org/pragma.html#pragma_user_version to detect such cases, and/or have a user setting to save in "compatibility mode", foregoing better/new features, or not. Of course, the version of the runtime SQLite library can also be used. The fact the SQLite file-format has little to no wiggle room for changes, does *NOT* mean SQLite won't or can't grow new features. It's growing them all the time. The "for the next 35-years" comment was made by DRH himself, and do not mean there won't be new things in SQLite for that time, but instead that DRH and team commit (pun intended :)) to supporting all existing and future features until 2050 at the least (modulo the BUS FACTOR of course...), and that commitment is backed by SQLite's outstanding 100% line and branch coverage testing, and is one of the primary reason DRH is always reluctant to add new requested features (quite a testing burden). But don't despair, FKs, Function-based Indexes, CTEs, Window-Functions, etc... were asked literally for years, and made it eventually. When you have a long view like Richard does, you're not in a rush to do anything I guess :). --DD _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users