Hi, Keith, On Fri, Jul 21, 2017 at 4:17 PM, Keith Medcalf <kmedc...@dessus.com> wrote: >>The only trouble is - how do I know what version were used. >>My application may use some features that is available right now and >>I want to use them because they are great. >>But if I open the DB from the old version I will simply get an error. > > No, you are incorrect. If you open a DB file that was created in *any* > version of SQLite 3 with the "current" version of SQLite3 it will *ALWAYS* > work just fine. When you add new features to the database (such as create a > conditional index), you will not be able to open that DB file with versions > of SQLite 3 prior to the introduction of that feature (you will get an error). > > That is, you can always open things made by older versions in a later version > of the software. What you cannot do is use a DB that contains "features" in > a version of SQLite 3 prior to that features introduction (because, since > that feature is not understood, it is indistinguishable from database > corruption). > > So, I can create a DB file with version 3.20.0 that will work perfectly fine > if opened with SQLite 3 version 3.0.0, and go back and forth and use any > version of SQLite 3 at all, even concurrently on the same database. Until I > add a feature that is only supported as of a certain version. From that > point forth (until you undo that feature usage) you can only use version of > SQLite 3 that understand the feature you are using.
I presume the same is true for the DB created with 3.0.0 and opened with 3.20.0. As long as I will use the standard SQL command and don't use any new feature introduced in 3.20.0. The only trouble is - I may not know in advance what version of SQLite was used and my program - which is based on the C API - will use all those new features available, because it makes the program better/faster/more robust/etc. But then I will get an error, right? Because the feature I want is not supported by the database. Or ma I missing something? Thank you. > > > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users