Quote:
Originally Posted by kovidgoyal
Oh and in case you were not aware of this, calibre itself uses apsw as the python wrapper for sqlite which uses a sqlite version >= 3.8 IIRC.
|
Python 2.7.8 ships with SQLite 3.6.21, just like all of the Python 2.7.x series. 3.6.21 was released in the fall of 2008.
The sqlite3.dll in "C:\Program Files\Calibre2\DLLs\sqlite3.dll" is version 3.6.21 released in 2008 because Calibre is on a Python 2.7.x release.
The policy of Python.org is upgrade its sqlite3.dll to the latest version only upon reaching a new major release of Python. So, if there were to be a Python 2.8 (which there will never be because 2.7.x is a dead-ender on life-support in maintenance mode), 2.8 would have shipped with at least SQLite version 3.8.6 which was released on 2014-08-15. But, there will never be a 2.8 (unfortunately).
http://sqlite.org/ says on its homepage in the upper right corner:
- Version 3.8.6 of SQLite is recommended for all new development. Upgrading from all other versions of SQLite is recommended.
So, SQLite.org itself recommends keeping the sqlite3.dll up-to-date. There is nothing willy-nilly about
http://sqlite.org/ .
Unfortunately, APSW does not force an APSW user to upgrade their sqlite3.dll to the latest release of SQlite. If it did, "C:\Program Files\Calibre2\DLLs\sqlite3.dll" would be 2014's 3.8.6 instead of 2008's 3.6.21.
The choice to remain on a dead-end standard distribution is not something to be viewed lightly. As Charles Darwin might say, "evolve or become extinct". I want to see Calibre evolve. If I did not, I would not develop plugins to keep it as vibrant as it has been in the past.
http://sqlite.org/download.html