SQLite 3.37.0 released

Started by JeGX, November 29, 2021, 04:35:16 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. The code for SQLite is in the public domain and is thus free for use for any purpose, commercial or private. SQLite is the most widely deployed database in the world with more applications than we can count, including several high-profile projects.

SQLite 3.37.0 changes:
- 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.

- Release notes
- Downloads