On Jul 21, 2017, at 10:11 AM, Jens Alfke <j...@mooseyard.com> wrote:
> 
>> On Jul 21, 2017, at 8:25 AM, Igor Korot <ikoro...@gmail.com> wrote:
>> 
>> "Using SQLite library version X.Y.Z connecting to the DB version A.B.C"
> 
> But why should your user care? As a developer I’ve been working with SQLite 
> since 2004 and I’ve never needed to know the internal file-format ID in a 
> database. 

While the base DB file format hasn’t changed, there are features like WAL mode 
that only work in newer versions.

Concrete example:

Adobe Lightroom 6 — which is based on SQLite — hasn’t had a major new version 
in over 2 years, but they shipped a new point release just days ago.  From an 
outsider’s perspective, we can therefore guess that either:

1. They’re still shipping some version of SQLite from prior to late April 2015 
(thus, no newer than SQLite 3.8.9) so that a Lightroom 6.12 catalog file can 
still be opened in 6.0 and vice versa; or

2. Adobe is updating their embedded copy of SQLite with each new point release 
and thus shipped SQLite 3.19.3 in Lightroom 6.12, and they’re relying on 
SQLite’s compatibility to allow the catalog to still be opened in Lightroom 6.0.

That gives us a spread of 12 different major versions of SQLite that could be 
in use here.

Now to complicate that, macOS also ships a /usr/bin/sqlite3, which happens to 
be 3.16.0 in macOS 10.12, so my superficial question is, can I safely open *and 
modify* the Lightroom catalog file with the macOS version of SQLite, or even 
some newer version?

The real question, though, is how can I know the answer for any combination of 
versions?  I want to point some tool at a SQLite DB file and know which version 
of SQLite wrote it, and what options were set by that other program.  That in 
turn lets me know which versions of SQLite I can safely use with that DB file.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to