#1 2012-01-18 13:11:01

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

SQlite3 engine updated to version 3.7.10

Version 3.7.10 of SQLite is recommended for all new development. Upgrading from version 3.7.6.3, 3.7.7, 3.7.7.1, 3.7.8, or 3.7.9 is optional. Upgrading from all other SQLite versions is recommended.

Official SQLite3 web site wrote:

The default schema format number is changed from 1 to 4. This means that, unless the PRAGMA legacy_file_format=ON statement is run, newly created database files will be unreadable by version of SQLite prior to 3.3.0 (2006-01-10). It also means that the descending indices are enabled by default.
The sqlite3_pcache_methods structure and the SQLITE_CONFIG_PCACHE and SQLITE_CONFIG_GETPCACHE configuration parameters are deprecated. They are replaced by a new sqlite3_pcache_methods2 structure and SQLITE_CONFIG_PCACHE2 and SQLITE_CONFIG_GETPCACHE2 configuration parameters.
Added the powersafe overwrite property to the VFS interface. Provide the SQLITE_IOCAP_POWERSAFE_OVERWRITE I/O capability, the SQLITE_POWERSAFE_OVERWRITE compile-time option, and the "psow=BOOLEAN" query parameter for URI filenames.
Added the sqlite3_db_release_memory() interface and the shrink_memory pragma.
Added the sqlite3_db_filename() interface.
Added the sqlite3_stmt_busy() interface.
Added the sqlite3_uri_boolean() and sqlite3_uri_int64() interfaces.
If the argument to PRAGMA cache_size is negative N, that means to use approximately -1024*N bytes of memory for the page cache regardless of the page size.
Enhanced the default memory allocator to make use of _msize() on windows, malloc_size() on Mac, and malloc_usable_size() on Linux.
Enhanced the query planner to support index queries with range constraints on the rowid.
Enhanced the query planner flattening logic to allow UNION ALL compounds to be promoted upwards to replace a simple wrapper SELECT even if the compounds are joins.
Enhanced the query planner so that the xfer optimization can be used with INTEGER PRIMARY KEY ON CONFLICT as long as the destination table is initially empty.
Enhanced the windows VFS so that all system calls can be overridden using the xSetSystemCall interface.
Updated the "unix-dotfile" VFS to use locking directories with mkdir() and rmdir() instead of locking files with open() and unlink().
Enhancements to the test_quota.c extension to support stdio-like interfaces with quotas.
Change the unix VFS to be tolerant of read() system calls that return less then the full number of requested bytes.
Change both unix and windows VFSes to report a sector size of 4096 instead of the old default of 512.
In the TCL Interface, add the -uri option to the "sqlite3" TCL command used for creating new database connection objects.
Added the SQLITE_TESTCTRL_EXPLAIN_STMT test-control option with the SQLITE_ENABLE_TREE_EXPLAIN compile-time option to enable the command-line shell to display ASCII-art parse trees of SQL statements that it processes, for debugging and analysis.
Bug fix: Add an additional xSync when restarting a WAL in order to prevent an exceedingly unlikely but theoretically possible database corruption following power-loss. Ticket ff5be73dee.
Bug fix: Change the VDBE so that all registers are initialized to Invalid instead of NULL. Ticket 7bbfb7d442
Bug fix: Fix problems that can result from 32-bit integer overflow. Ticket ac00f496b7e2

Note that the use of _msize() is not needed in our implementation: FastMM4 will already reuse the block if possible.
So I just disabled this new feature, which makes static compilation fail (__msize function not found at linking).
See http://synopse.info/fossil/fdiff?v1=41b … 53d82e3c17
and my answer at SO: http://stackoverflow.com/questions/8908 … hi/8910481

Offline

#2 2012-01-18 14:13:13

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

Re: SQlite3 engine updated to version 3.7.10

About _msize issue, I think that we'd get rid of this issue in 3.7.11, as stated by this commit: a new SQLITE_WITHOUT_MSIZE global symbol will be added.

It will enable building the amalgamation source code without changing its content, just by setting the appropriate SQLITE_WITHOUT_MSIZE define. In the meanwhile, the easiest is to comment the above lines.

Offline

#3 2012-01-18 18:53:08

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

Re: SQlite3 engine updated to version 3.7.10

I've updated the compiled .obj files to be in revision 3.7.10, just as the source code tree.
See http://synopse.info/fossil/wiki?name=Get+the+source about those sqlite3*.obj supplied files.
Direct download link is http://synopse.info/files/sqlite3obj.7z

Offline

Board footer

Powered by FluxBB