Small. Fast. Reliable.
Choose any three.
SQLite Release 3.37.1 On 2021-12-30
Prior changes from version 3.37.0 (2021-11-27):
- STRICT tables provide a prescriptive style of data type management,
for developers who prefer that kind of thing.
- When adding columns that contain a
CHECK constraint or a generated column containing a NOT NULL constraint,
the ALTER TABLE ADD COLUMN now checks new constraints against
preexisting rows in the database and will only proceed if no constraints
are violated.
- Added the PRAGMA table_list statement.
- CLI enhancements:
- Add the .connection command, allowing the CLI to keep multiple database
connections open at the same time.
- Add the --safe command-line option that disables
dot-commands and SQL statements that might cause side-effects that extend
beyond the single database file named on the command-line.
- Performance improvements when reading SQL statements
that span many lines.
- Added the sqlite3_autovacuum_pages() interface.
- The sqlite3_deserialize() does not and has never worked for the TEMP
database. That limitation is now noted in the documentation.
- The query planner now omits ORDER BY clauses on subqueries and views
if removing those clauses does not change the semantics of the query.
- The generate_series table-valued function extension is modified so that
the first parameter ("START") is now required. This is done as a way to
demonstrate how to write table-valued functions with required parameters.
The legacy behavior is available using the -DZERO_ARGUMENT_GENERATE_SERIES
compile-time option.
- Added new sqlite3_changes64() and sqlite3_total_changes64() interfaces.
- Added the SQLITE_OPEN_EXRESCODE flag option to sqlite3_open_v2().
- Use less memory to hold the database schema.
Changes in this specific patch release, version 3.37.1 (2021-12-30):
- Fix a bug introduced by the UPSERT enhancements of version 3.35.0 that
can cause incorrect byte-code to be generated for some obscure but valid
SQL, possibly resulting in a NULL-pointer dereference.
- Fix an OOB read that can occur in FTS5 when reading corrupt database files.
- Improved robustness of the --safe option in the CLI.
- Other minor fixes to assert() statements and test cases.
Hashes:
- SQLITE_SOURCE_ID: 2021-12-30 15:30:28 378629bf2ea546f73eee84063c5358439a12f7300e433f18c9e1bddd948dea62
- SHA3-256 for sqlite3.c: 915afb3f29c2d217ea0c283326a9df7d505e6c73b40236f0b33ded91f812d174
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.