*** DRAFT ***
SQLite Release 3.37.2 On 2022-01-06
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.
Prior changes from 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.
Changes in this specific patch release, version 3.37.2 (2022-01-06):
- Fix a bug introduced
in version 3.35.0 (2021-03-12) that
can cause database corruption
if a SAVEPOINT is rolled back while in PRAGMA temp_store=MEMORY mode,
and other changes are made, and then the outer transaction commits.
Check-in 73c2b50211d3ae26
- Fix a long-standing problem with ON DELETE CASCADE and ON UPDATE CASCADE
in which a cache of the bytecode used to implement the cascading change
was not being reset following a local DDL change.
Check-in 5232c9777fe4fb13.
- Other minor fixes that should not impact production builds.
Hashes:
- SQLITE_SOURCE_ID: 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5d17a0
- SHA3-256 for sqlite3.c: 1bb01c382295cba85ec4685cedc52a7477cdae71cc37f1ad0f48719a17af1e1e
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.
*** DRAFT ***