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

Reply via email to