>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.




_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to