Small. Fast. Reliable.
Choose any three.
SQLite Release 3.26.0 On 2018-12-01
- Optimization: When doing an UPDATE on a table with indexes on expressions,
do not update the expression indexes if they do not refer to any of the columns
of the table being updated.
- Allow the xBestIndex() method of virtual table implementations to return
SQLITE_CONSTRAINT to indicate that the proposed query plan is unusable and
should not be given further consideration.
- Added the SQLITE_DBCONFIG_DEFENSIVE option which disables the ability to
create corrupt database files using ordinary SQL.
- Added support for read-only shadow tables when the SQLITE_DBCONFIG_DEFENSIVE
option is enabled.
- Added the PRAGMA legacy_alter_table command, which if enabled causes the
ALTER TABLE command to behave like older version of SQLite (prior to
version 3.25.0) for compatibility.
- Added PRAGMA table_xinfo that works just like PRAGMA table_info
except that it also shows hidden columns in virtual tables.
- Added the explain virtual table
as a run-time loadable extension.
- Add a limit counter to the query planner to prevent excessive
sqlite3_prepare() times for certain pathological SQL inputs.
- Added support for the sqlite3_normalized_sql() interface, when compiling
with SQLITE_ENABLE_NORMALIZE.
- Enhanced triggers so that they can use table-valued functions that
exist in schemas other than the schema where the trigger is defined.
- Enhancements to the CLI:
- Improvements to the ".help" command.
- The SQLITE_HISTORY environment variable, if it exists,
specifies the name of the command-line editing history file
- The --deserialize option associated with opening a new database cause the
database file to be read into memory and accessed using the
sqlite3_deserialize() API. This simplifies running tests on a database
without modifying the file on disk.
- Enhancements to the geopoly extension:
- Always stores polygons
using the binary format, which is faster and uses less space.
- Added the geopoly_regular() function.
- Added the geopoly_ccw() function.
- Enhancements to the session extension:
- Added the SQLITE_CHANGESETAPPLY_INVERT flag
- Added the sqlite3changeset_start_v2() interface and the
SQLITE_CHANGESETSTART_INVERT flag.
- Added the
changesetfuzz.c
test-case generator utility.
Hashes:
- SQLITE_SOURCE_ID: "2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9"
- SHA3-256 for sqlite3.c: 72c08830da9b5d1cb397c612c0e870d7f5eb41a323b41aa3d8aa5ae9ccedb2c4
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.