Small. Fast. Reliable.
Choose any three.
SQLite Release 3.8.8 On 2015-01-16
- Added the PRAGMA data_version command that can be used to determine if
a database file has been modified by another process.
- Added the SQLITE_CHECKPOINT_TRUNCATE option to the
sqlite3_wal_checkpoint_v2() interface, with corresponding enhancements
to PRAGMA wal_checkpoint.
- Added the sqlite3_stmt_scanstatus() interface, available only when
compiled with SQLITE_ENABLE_STMT_SCANSTATUS.
- The sqlite3_table_column_metadata() is enhanced to work correctly on
WITHOUT ROWID tables and to check for the existence of a
a table if the column name parameter is NULL. The interface is now
also included in the build by default, without requiring
the SQLITE_ENABLE_COLUMN_METADATA compile-time option.
- Added the SQLITE_ENABLE_API_ARMOR compile-time option.
- Added the SQLITE_REVERSE_UNORDERED_SELECTS compile-time option.
- Added the SQLITE_SORTER_PMASZ compile-time option and SQLITE_CONFIG_PMASZ
- Added the SQLITE_CONFIG_PCACHE_HDRSZ option to sqlite3_config()
which makes it easier for applications to determine the appropriate
amount of memory for use with SQLITE_CONFIG_PAGECACHE.
- The number of rows in a VALUES clause is no longer limited by
- Added the eval.c
loadable extension that implements an eval() SQL function that will recursively
- Reduce the number of memcpy() operations involved in balancing a b-tree,
for 3.2% overall performance boost.
- Improvements to cost estimates for the skip-scan optimization.
- The automatic indexing optimization is now capable of generating
a partial index if that is appropriate.
- Ensure durability following a power loss with
"PRAGMA journal_mode=TRUNCATE" by calling fsync() right after truncating
the journal file.
- The query planner now recognizes that any column in the right-hand
table of a LEFT JOIN can be NULL, even if that column has a NOT NULL
constraint. Avoid trying to optimize out NULL tests in those cases.
Fix for ticket
- Make sure ORDER BY puts rows in ascending order even if the DISTINCT
operator is implemented using a descending index. Fix for ticket
- Fix data races that might occur under stress when running with many threads
in shared cache mode where some of the threads are opening and
- Fix obscure crash bugs found by
american fuzzy lop. Ticket
- Work around a GCC optimizer bug (for gcc 4.2.1 on MacOS 10.7) that caused the
R-Tree extension to compute incorrect results when compiled with -O3.
- Disable the use of the strchrnul() C-library routine unless it is
specifically enabled using the -DHAVE_STRCHRNULL compile-time option.
- Improvements to the effectiveness and accuracy of the
likelihood(), likely(), and unlikely() SQL hint functions.
- SQLITE_SOURCE_ID: "2015-01-16 12:08:06 7d68a42face3ab14ed88407d4331872f5b243fdf"
- SHA1 for sqlite3.c: 91aea4cc722371d58aae3d22e94d2a4165276905
A complete list of SQLite releases
in a single page and a chronology are both also available.
A detailed history of every
check-in is available at
SQLite version control site.