Small. Fast. Reliable.
Choose any three.
SQLite Release 3.17.0 On 2017-02-13
- Approximately 25% better performance from the R-Tree extension.
- Uses compiler built-ins (ex: __builtin_bswap32() or _byteswap_ulong())
for byteswapping when available.
- Uses the sqlite3_blob key/value access object instead of SQL
for pulling content out of R-Tree nodes
- Other miscellaneous enhancements such as loop unrolling.
- Add the SQLITE_DEFAULT_LOOKASIDE compile-time option.
- Increase the default lookaside
size from 512,125 to 1200,100
as this provides better performance while only adding 56KB
of extra memory per connection. Memory-sensitive
applications can restore the old
default at compile-time, start-time, or run-time.
- Use compiler built-ins __builtin_sub_overflow(), __builtin_add_overflow(),
and __builtin_mul_overflow() when available. (All compiler
built-ins can be omitted with the SQLITE_DISABLE_INTRINSIC compile-time
option.)
- Added the SQLITE_ENABLE_NULL_TRIM compile-time option, which
can result in significantly smaller database files for some
applications, at the risk of being incompatible with older
versions of SQLite.
- Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, for
improved performance.
- Added the SQLITE_UINT64_TYPE compile-time option as an
analog to SQLITE_INT64_TYPE.
- Perform some UPDATE operations in a single pass instead of
in two passes.
- Enhance the session extension to support WITHOUT ROWID
tables.
- Fixed performance problems and potential stack overflows
when creating views from multi-row VALUES clauses with
hundreds of thousands of rows.
- Added the sha1.c
extension.
- In the command-line shell, enhance the ".mode" command so that it
restores the default column and row separators for modes "line",
"list", "column", and "tcl".
- Enhance the SQLITE_DIRECT_OVERFLOW_READ option so that it works
in WAL mode as long as the pages being read are not in the WAL file.
- Enhance the
LEMON parser generator
so that it can store the parser object as a stack variable rather than
allocating space from the heap and make use of that enhancement in
the amalgamation.
- Other performance improvements. Uses about 6.5% fewer CPU cycles.
Bug Fixes:
- Throw an error if the ON clause of a LEFT JOIN references tables
to the right of the ON clause. This is the same behavior as
PostgreSQL. Formerly, SQLite silently converted the LEFT JOIN
into an INNER JOIN. Fix for ticket
25e335f802dd.
- Use the correct affinity for columns of automatic indexes. Ticket
7ffd1ca1d2ad4ec.
- Ensure that the sqlite3_blob_reopen() interface can correctly
handle short rows. Fix for ticket
e6e962d6b0f06f46e.
Hashes:
- SQLITE_SOURCE_ID: "2017-02-13 16:02:40 ada05cfa86ad7f5645450ac7a2a21c9aa6e57d2c"
- SHA1 for sqlite3.c: cc7d708bb073c44102a59ed63ce6142da1f174d1
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.